Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/Main.sln37
-rw-r--r--main/configure.in1
-rw-r--r--main/monodevelop-core-addins.pc.in2
-rw-r--r--main/src/addins/CBinding/AddinInfo.cs27
-rw-r--r--main/src/addins/CBinding/AssemblyInfo.cs9
-rw-r--r--main/src/addins/CBinding/CBinding.Autotools/AssemblyInfo.cs37
-rw-r--r--main/src/addins/CBinding/CBinding.Autotools/CAutotoolsSetup.cs74
-rw-r--r--main/src/addins/CBinding/CBinding.Autotools/CBinding.Autotools.csproj83
-rw-r--r--main/src/addins/CBinding/CBinding.addin.xml237
-rw-r--r--main/src/addins/CBinding/CBinding.csproj316
-rw-r--r--main/src/addins/CBinding/Compiler/CCompiler.cs137
-rw-r--r--main/src/addins/CBinding/Compiler/GNUCompiler.cs796
-rw-r--r--main/src/addins/CBinding/Compiler/GccCompiler.cs55
-rw-r--r--main/src/addins/CBinding/Compiler/GppCompiler.cs55
-rw-r--r--main/src/addins/CBinding/Compiler/ICompiler.cs76
-rw-r--r--main/src/addins/CBinding/Gui/CTextEditorExtension.cs806
-rw-r--r--main/src/addins/CBinding/Gui/CodeGenerationPanel.cs369
-rw-r--r--main/src/addins/CBinding/Gui/CompilerPanel.cs128
-rw-r--r--main/src/addins/CBinding/Gui/DataProvider.cs197
-rw-r--r--main/src/addins/CBinding/Gui/DataWrapper.cs85
-rw-r--r--main/src/addins/CBinding/Gui/EditPackagesDialog.cs569
-rw-r--r--main/src/addins/CBinding/Gui/GeneralOptionsPanel.cs199
-rw-r--r--main/src/addins/CBinding/Gui/OutputOptionsPanel.cs112
-rw-r--r--main/src/addins/CBinding/Gui/PackageDetails.cs89
-rw-r--r--main/src/addins/CBinding/Makefile.am1
-rw-r--r--main/src/addins/CBinding/Navigation/ClassNodeBuilder.cs140
-rw-r--r--main/src/addins/CBinding/Navigation/ClassPadEventArgs.cs53
-rw-r--r--main/src/addins/CBinding/Navigation/EnumerationNodeBuilder.cs113
-rw-r--r--main/src/addins/CBinding/Navigation/EnumeratorNodeBuilder.cs81
-rw-r--r--main/src/addins/CBinding/Navigation/FunctionNodeBuilder.cs97
-rw-r--r--main/src/addins/CBinding/Navigation/GlobalsNodeBuilder.cs136
-rw-r--r--main/src/addins/CBinding/Navigation/LanguageItemCommandHandler.cs51
-rw-r--r--main/src/addins/CBinding/Navigation/LanguageItemEventArgs.cs53
-rw-r--r--main/src/addins/CBinding/Navigation/MacroDefinitionsNodeBuilder.cs104
-rw-r--r--main/src/addins/CBinding/Navigation/MacroNodeBuilder.cs77
-rw-r--r--main/src/addins/CBinding/Navigation/MemberNodeBuilder.cs93
-rw-r--r--main/src/addins/CBinding/Navigation/NamespaceNodeBuilder.cs132
-rw-r--r--main/src/addins/CBinding/Navigation/ProjectNodeBuilderExtension.cs177
-rw-r--r--main/src/addins/CBinding/Navigation/StructureNodeBuilder.cs143
-rw-r--r--main/src/addins/CBinding/Navigation/TypedefNodeBuilder.cs84
-rw-r--r--main/src/addins/CBinding/Navigation/UnionNodeBuilder.cs143
-rw-r--r--main/src/addins/CBinding/Navigation/VariableNodeBuilder.cs96
-rw-r--r--main/src/addins/CBinding/Parser/BsdCTagsManager.cs125
-rwxr-xr-xmain/src/addins/CBinding/Parser/CDocumentParser.cs231
-rw-r--r--main/src/addins/CBinding/Parser/CTagsManager.cs200
-rw-r--r--main/src/addins/CBinding/Parser/Class.cs48
-rw-r--r--main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs103
-rwxr-xr-xmain/src/addins/CBinding/Parser/DataProvider.cs135
-rw-r--r--main/src/addins/CBinding/Parser/Enumeration.cs48
-rw-r--r--main/src/addins/CBinding/Parser/Enumerator.cs45
-rw-r--r--main/src/addins/CBinding/Parser/ExuberantCTagsManager.cs163
-rw-r--r--main/src/addins/CBinding/Parser/Function.cs168
-rw-r--r--main/src/addins/CBinding/Parser/LanguageItem.cs257
-rw-r--r--main/src/addins/CBinding/Parser/Local.cs47
-rw-r--r--main/src/addins/CBinding/Parser/Macro.cs44
-rw-r--r--main/src/addins/CBinding/Parser/Member.cs105
-rw-r--r--main/src/addins/CBinding/Parser/Namespace.cs45
-rw-r--r--main/src/addins/CBinding/Parser/ProjectInformation.cs236
-rw-r--r--main/src/addins/CBinding/Parser/ProjectInformationManager.cs77
-rw-r--r--main/src/addins/CBinding/Parser/Structure.cs48
-rw-r--r--main/src/addins/CBinding/Parser/Tag.cs144
-rw-r--r--main/src/addins/CBinding/Parser/TagDatabaseManager.cs502
-rw-r--r--main/src/addins/CBinding/Parser/Typedef.cs48
-rw-r--r--main/src/addins/CBinding/Parser/Union.cs48
-rw-r--r--main/src/addins/CBinding/Parser/Variable.cs44
-rw-r--r--main/src/addins/CBinding/Project/CProject.cs563
-rw-r--r--main/src/addins/CBinding/Project/CProjectConfiguration.cs233
-rw-r--r--main/src/addins/CBinding/Project/Package.cs323
-rw-r--r--main/src/addins/CBinding/Project/ProjectPackageCollection.cs110
-rw-r--r--main/src/addins/CBinding/Project/ProjectPackageEventArgs.cs57
-rw-r--r--main/src/addins/CBinding/ProjectPad/ProjectNodeExtension.cs59
-rw-r--r--main/src/addins/CBinding/ProjectPad/ProjectPackageNodeBuilder.cs103
-rw-r--r--main/src/addins/CBinding/ProjectPad/ProjectPackagesFolderNodeBuilder.cs193
-rw-r--r--main/src/addins/CBinding/ProjectPad/ProjectReferencesExtension.cs57
-rw-r--r--main/src/addins/CBinding/README7
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.CodeGenerationPanel.cs690
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.CompilerPanel.cs56
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.EditPackagesDialog.cs262
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.GeneralOptionsPanel.cs191
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.OutputOptionsPanel.cs158
-rw-r--r--main/src/addins/CBinding/gtk-gui/CBinding.PackageDetails.cs284
-rw-r--r--main/src/addins/CBinding/gtk-gui/generated.cs81
-rw-r--r--main/src/addins/CBinding/gtk-gui/gui.stetic2250
-rw-r--r--main/src/addins/CBinding/icons/union-16.pngbin338 -> 0 bytes
-rw-r--r--main/src/addins/CBinding/icons/union-private-16.pngbin544 -> 0 bytes
-rw-r--r--main/src/addins/CBinding/icons/union-protected-16.pngbin500 -> 0 bytes
-rw-r--r--main/src/addins/CBinding/icons/update.pngbin706 -> 0 bytes
-rw-r--r--main/src/addins/CBinding/templates/ConsoleCProject.xpt.xml41
-rw-r--r--main/src/addins/CBinding/templates/ConsoleCppProject.xpt.xml42
-rw-r--r--main/src/addins/CBinding/templates/ConsoleObjCProject.xpt.xml39
-rw-r--r--main/src/addins/CBinding/templates/EmptyCHeaderFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/EmptyCProject.xpt.xml28
-rw-r--r--main/src/addins/CBinding/templates/EmptyCSourceFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/EmptyCppHeaderFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/EmptyCppProject.xpt.xml28
-rw-r--r--main/src/addins/CBinding/templates/EmptyCppSourceFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/EmptyObjCProject.xpt.xml36
-rw-r--r--main/src/addins/CBinding/templates/EmptyObjCSourceFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/EmptyObjCppSourceFile.xft.xml23
-rw-r--r--main/src/addins/CBinding/templates/SharedLibraryCProject.xpt.xml44
-rw-r--r--main/src/addins/CBinding/templates/SharedLibraryCppProject.xpt.xml43
-rw-r--r--main/src/addins/CBinding/templates/StaticLibraryCProject.xpt.xml44
-rw-r--r--main/src/addins/CBinding/templates/StaticLibraryCppProject.xpt.xml44
-rw-r--r--main/src/addins/Makefile.am1
-rw-r--r--main/src/core/MonoDevelop.Ide/AssemblyInfo.cs1
105 files changed, 1 insertions, 15386 deletions
diff --git a/main/Main.sln b/main/Main.sln
index 0ed4ca6603..58a95f808a 100644
--- a/main/Main.sln
+++ b/main/Main.sln
@@ -91,12 +91,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Gettext", "src\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.RegexToolkit", "src\addins\MonoDevelop.RegexToolkit\MonoDevelop.RegexToolkit.csproj", "{1F29B0A7-458F-4093-85DE-52E36EA2FC0E}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CBinding", "CBinding", "{49157389-0F4C-4000-88A1-D37B2AEBA941}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CBinding", "src\addins\CBinding\CBinding.csproj", "{7B57882B-AD46-469B-84E7-06DF98D11468}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CBinding.Autotools", "src\addins\CBinding\CBinding.Autotools\CBinding.Autotools.csproj", "{B841F25D-4F6D-4E0D-885F-212B54381F28}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GnomePlatform", "src\addins\GnomePlatform\GnomePlatform.csproj", "{AE84B4A7-E6B1-4565-8904-16284DCE41B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.SourceEditor", "src\addins\MonoDevelop.SourceEditor2\MonoDevelop.SourceEditor.csproj", "{F8F92AA4-A376-4679-A9D4-60E7B7FBF477}"
@@ -902,20 +896,6 @@ Global
{7926DB5B-96A7-47A7-9870-DB42FA5C3548}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{7926DB5B-96A7-47A7-9870-DB42FA5C3548}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
{7926DB5B-96A7-47A7-9870-DB42FA5C3548}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.DebugGnome|Any CPU.ActiveCfg = DebugGnome|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.DebugGnome|Any CPU.Build.0 = DebugGnome|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.Release|Any CPU.Build.0 = Release|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.ReleaseGnome|Any CPU.ActiveCfg = ReleaseGnome|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.ReleaseGnome|Any CPU.Build.0 = ReleaseGnome|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
- {7B57882B-AD46-469B-84E7-06DF98D11468}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
{7E4B15FB-E8C4-419A-A31C-9310FD9062BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7E4B15FB-E8C4-419A-A31C-9310FD9062BD}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
{7E4B15FB-E8C4-419A-A31C-9310FD9062BD}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
@@ -1389,20 +1369,6 @@ Global
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.DebugGnome|Any CPU.Build.0 = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.Release|Any CPU.Build.0 = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.ReleaseGnome|Any CPU.ActiveCfg = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.ReleaseGnome|Any CPU.Build.0 = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
- {B841F25D-4F6D-4E0D-885F-212B54381F28}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
{BA9020AD-A2D1-47C8-9A7C-756162C38296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA9020AD-A2D1-47C8-9A7C-756162C38296}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA9020AD-A2D1-47C8-9A7C-756162C38296}.DebugGnome|Any CPU.ActiveCfg = DebugGnome|Any CPU
@@ -1997,7 +1963,6 @@ Global
{B480BF1B-1DCD-4288-9212-F5BEDF763797} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{ADDC9D20-83C5-4245-9B46-2C5F6642CFBC} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{1F29B0A7-458F-4093-85DE-52E36EA2FC0E} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
- {49157389-0F4C-4000-88A1-D37B2AEBA941} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{AE84B4A7-E6B1-4565-8904-16284DCE41B6} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{F8F92AA4-A376-4679-A9D4-60E7B7FBF477} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{0EA3AD14-404A-4D3F-979B-F087E2E70C82} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
@@ -2032,8 +1997,6 @@ Global
{F79A67A1-4BA2-48F8-A7DD-A72E316EF6CD} = {B480BF1B-1DCD-4288-9212-F5BEDF763797}
{F426CBB2-77FC-4E14-9E28-E667C2D1299A} = {B480BF1B-1DCD-4288-9212-F5BEDF763797}
{875D389F-48D1-4D46-BFC6-998837DD6AE0} = {B480BF1B-1DCD-4288-9212-F5BEDF763797}
- {7B57882B-AD46-469B-84E7-06DF98D11468} = {49157389-0F4C-4000-88A1-D37B2AEBA941}
- {B841F25D-4F6D-4E0D-885F-212B54381F28} = {49157389-0F4C-4000-88A1-D37B2AEBA941}
{9BC670A8-1851-40EC-9685-279F4C98433D} = {CC556C33-DB2D-4141-AFBF-A641EF9A1FA9}
{BA9020AD-A2D1-47C8-9A7C-756162C38296} = {CC556C33-DB2D-4141-AFBF-A641EF9A1FA9}
{8E47B77A-A649-494C-9BF2-B845E39CADE9} = {2A39DAE0-09B8-481E-950D-DF9DE0E87208}
diff --git a/main/configure.in b/main/configure.in
index 297f3ea269..2b387973ee 100644
--- a/main/configure.in
+++ b/main/configure.in
@@ -353,7 +353,6 @@ src/addins/Deployment/MonoDevelop.Deployment/Makefile
src/addins/Deployment/MonoDevelop.Deployment.Linux/Makefile
src/addins/MonoDevelop.Gettext/Makefile
src/addins/MonoDevelop.RegexToolkit/Makefile
-src/addins/CBinding/Makefile
src/addins/GnomePlatform/Makefile
src/addins/MacPlatform/Makefile
src/addins/WindowsPlatform/Makefile
diff --git a/main/monodevelop-core-addins.pc.in b/main/monodevelop-core-addins.pc.in
index ce295cbe14..a7200700e3 100644
--- a/main/monodevelop-core-addins.pc.in
+++ b/main/monodevelop-core-addins.pc.in
@@ -6,4 +6,4 @@ GacPackage=false
Name: MonoDevelop Core Add-ins
Description: MonoDevelop Core Add-ins
Version: @VERSION@
-Libs: -r:${libdir}/AddIns/VersionControl/MonoDevelop.VersionControl.dll -r:${libdir}/AddIns/NUnit/MonoDevelop.NUnit.dll -r:${libdir}/AddIns/Xml/MonoDevelop.Xml.dll -r:${libdir}/AddIns/AspNet/MonoDevelop.AspNet.dll -r:${libdir}/AddIns/DisplayBindings/Gettext/MonoDevelop.Gettext.dll -r:${libdir}/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.dll -r:${libdir}/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.Linux.dll -r:${libdir}/AddIns/MonoDevelop.GtkCore/MonoDevelop.GtkCore.dll -r:${libdir}/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll -r:${libdir}/AddIns/BackendBindings/MonoDevelop.VBNetBinding.dll -r:${libdir}/AddIns/BackendBindings/MonoDevelop.CBinding.dll -r:${libdir}/AddIns/BackendBindings/MonoDevelop.CSharpBinding.dll -r:${libdir}/AddIns/MonoDevelop.Autotools/MonoDevelop.Autotools.dll -r:${libdir}/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll -r:${libdir}/AddIns/MonoDevelop.Debugger/MonoDevelop.Debugger.dll -r:${libdir}/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugging.Soft.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugger.Soft.dll
+Libs: -r:${libdir}/AddIns/VersionControl/MonoDevelop.VersionControl.dll -r:${libdir}/AddIns/NUnit/MonoDevelop.NUnit.dll -r:${libdir}/AddIns/Xml/MonoDevelop.Xml.dll -r:${libdir}/AddIns/AspNet/MonoDevelop.AspNet.dll -r:${libdir}/AddIns/DisplayBindings/Gettext/MonoDevelop.Gettext.dll -r:${libdir}/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.dll -r:${libdir}/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.Linux.dll -r:${libdir}/AddIns/MonoDevelop.GtkCore/MonoDevelop.GtkCore.dll -r:${libdir}/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll -r:${libdir}/AddIns/BackendBindings/MonoDevelop.VBNetBinding.dll -r:${libdir}/AddIns/BackendBindings/MonoDevelop.CSharpBinding.dll -r:${libdir}/AddIns/MonoDevelop.Autotools/MonoDevelop.Autotools.dll -r:${libdir}/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll -r:${libdir}/AddIns/MonoDevelop.Debugger/MonoDevelop.Debugger.dll -r:${libdir}/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugging.Soft.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.dll -r:${libdir}/AddIns/MonoDevelop.Debugger.Soft/Mono.Debugger.Soft.dll
diff --git a/main/src/addins/CBinding/AddinInfo.cs b/main/src/addins/CBinding/AddinInfo.cs
deleted file mode 100644
index 88555948ba..0000000000
--- a/main/src/addins/CBinding/AddinInfo.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-
-using System;
-using Mono.Addins;
-using Mono.Addins.Description;
-
-[assembly:Addin ("CBinding",
- Namespace = "MonoDevelop",
- Version = MonoDevelop.BuildInfo.Version,
- Category = "Language bindings",
- EnabledByDefault =
- #if GNOME
- true
- #else
- false
- #endif
-)]
-
-[assembly:AddinName ("C/C++ Language Binding")]
-[assembly:AddinDescription ("C/C++ Language binding")]
-
-[assembly:AddinDependency ("Core", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("Ide", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("DesignerSupport", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("Deployment", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("Deployment.Linux", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("Refactoring", MonoDevelop.BuildInfo.Version)]
-[assembly:AddinDependency ("SourceEditor2", MonoDevelop.BuildInfo.Version)]
diff --git a/main/src/addins/CBinding/AssemblyInfo.cs b/main/src/addins/CBinding/AssemblyInfo.cs
deleted file mode 100644
index bec073d8a8..0000000000
--- a/main/src/addins/CBinding/AssemblyInfo.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-// Autogenerated from CBinding.addin.xml
-
-using System.Reflection;
-
-[assembly: AssemblyProduct ("MonoDevelop")]
-[assembly: AssemblyTitle ("C/C++ Language Binding")]
-[assembly: AssemblyDescription ("C/C++ Language binding")]
-[assembly: AssemblyVersion ("2.6")]
-[assembly: AssemblyCopyright ("MIT X11")]
diff --git a/main/src/addins/CBinding/CBinding.Autotools/AssemblyInfo.cs b/main/src/addins/CBinding/CBinding.Autotools/AssemblyInfo.cs
deleted file mode 100644
index bd09d18668..0000000000
--- a/main/src/addins/CBinding/CBinding.Autotools/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// AssemblyInfo.cs created with MonoDevelop
-// User: marcos at 5:00 PM 8/6/2007
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following
-// attributes.
-//
-// change them to the information which is associated with the assembly
-// you compile.
-
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has following format :
-//
-// Major.Minor.Build.Revision
-//
-// You can specify all values by your own or you can build default build and revision
-// numbers with the '*' character (the default):
-
-[assembly: AssemblyVersion("1.0.0.0")]
-
-// The following attributes specify the key for the sign of your assembly. See the
-// .NET Framework documentation for more information about signing.
-// This is not required, if you don't want signing let these attributes like they're.
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/main/src/addins/CBinding/CBinding.Autotools/CAutotoolsSetup.cs b/main/src/addins/CBinding/CBinding.Autotools/CAutotoolsSetup.cs
deleted file mode 100644
index afa2f9e7c5..0000000000
--- a/main/src/addins/CBinding/CBinding.Autotools/CAutotoolsSetup.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// CAutotoolsSetup.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Autotools;
-
-using CBinding;
-
-namespace CBinding.Autotools
-{
- public class CAutotoolsSetup : ISimpleAutotoolsSetup
- {
- public string GetCompilerCommand (Project project, string configuration)
- {
- if (!CanDeploy (project))
- throw new Exception ("Not a deployable project.");
-
- CProject cproj = project as CProject;
-
- return cproj.Compiler.CompilerCommand;
- }
-
- // FIXME: Currently only the compiler flags are sent, no linker flags are sent.
- public string GetCompilerFlags (Project project, string configuration)
- {
- if (!CanDeploy (project))
- throw new Exception ("Not a deployable project.");
-
- CProjectConfiguration config = project.Configurations[configuration] as CProjectConfiguration;
-
- if (config == null)
- return string.Empty;
-
- CProject cproj = project as CProject;
-
- return cproj.Compiler.GetCompilerFlags (cproj, config);
- }
-
- public bool CanDeploy (Project project)
- {
- return project is CProject;
- }
- }
-} \ No newline at end of file
diff --git a/main/src/addins/CBinding/CBinding.Autotools/CBinding.Autotools.csproj b/main/src/addins/CBinding/CBinding.Autotools/CBinding.Autotools.csproj
deleted file mode 100644
index 68961b4f98..0000000000
--- a/main/src/addins/CBinding/CBinding.Autotools/CBinding.Autotools.csproj
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{B841F25D-4F6D-4E0D-885F-212B54381F28}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AssemblyName>MonoDevelop.CBinding.Autotools</AssemblyName>
- <RootNamespace>CBinding.Autotools</RootNamespace>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>..\..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <DefineConstants>DEBUG</DefineConstants>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.Autotools.xml</DocumentationFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>True</Optimize>
- <OutputPath>..\..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <DebugSymbols>true</DebugSymbols>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.Autotools.xml</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\MonoDevelop.Autotools\MonoDevelop.Autotools.csproj">
- <Project>{CFC02FEC-BDF4-40B9-94D6-35E73F76A92E}</Project>
- <Name>MonoDevelop.Autotools</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\CBinding.csproj">
- <Project>{7B57882B-AD46-469B-84E7-06DF98D11468}</Project>
- <Name>CBinding</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj">
- <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project>
- <Name>MonoDevelop.Core</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\Deployment\MonoDevelop.Deployment\MonoDevelop.Deployment.csproj">
- <Project>{9BC670A8-1851-40EC-9685-279F4C98433D}</Project>
- <Name>MonoDevelop.Deployment</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj">
- <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project>
- <Name>MonoDevelop.Ide</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj">
- <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project>
- <Name>MonoDevelop.DesignerSupport</Name>
- <Private>False</Private>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="CAutotoolsSetup.cs" />
- <Compile Include="AssemblyInfo.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>
diff --git a/main/src/addins/CBinding/CBinding.addin.xml b/main/src/addins/CBinding/CBinding.addin.xml
deleted file mode 100644
index 187306de4e..0000000000
--- a/main/src/addins/CBinding/CBinding.addin.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<ExtensionModel>
-
- <Extension path = "/MonoDevelop/Core/StockIcons">
- <StockIcon stockid = "md-union" resource = "union-16.png" size="Menu"/>
- <StockIcon stockid = "md-protected-union" resource = "union-protected-16.png" size="Menu"/>
- <StockIcon stockid = "md-private-union" resource = "union-private-16.png" size="Menu"/>
- <StockIcon stockid = "md-c-file" icon = "md-file-source" size="Menu" />
- <StockIcon stockid = "md-h-file" icon = "md-file-header" size="Menu" />
- <StockIcon stockid = "md-cpp-file" icon = "md-file-source" size="Menu" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/FileFilters">
- <FileFilter
- id = "CPP"
- insertbefore = "AllFiles"
- _label = "C++ Files"
- extensions = "*.cpp,*.h,*.hpp,*.cxx,*.cc,*.hh,*.hxx"/>
- <FileFilter
- id = "C"
- insertbefore = "AllFiles"
- _label = "C Files"
- extensions = "*.c,*.h"/>
- <FileFilter
- id = "Objective C"
- insertbefore = "AllFiles"
- _label = "Objective C Files"
- extensions = "*.m,*.h"/>
- <FileFilter
- id = "Objective C++"
- insertbefore = "AllFiles"
- _label = "Objective C++ Files"
- extensions = "*.mm,*.M,*.h"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/FileTemplates">
- <FileTemplate id = "EmptyCSourceFile" resource = "EmptyCSourceFile.xft.xml"/>
- <FileTemplate id = "EmptyCHeaderFile" resource = "EmptyCHeaderFile.xft.xml"/>
- <FileTemplate id = "EmptyCppSourceFile" resource = "EmptyCppSourceFile.xft.xml"/>
- <FileTemplate id = "EmptyCppHeaderFile" resource = "EmptyCppHeaderFile.xft.xml"/>
- <FileTemplate id = "EmptyObjCSourceFile" resource = "EmptyObjCSourceFile.xft.xml"/>
- <FileTemplate id = "EmptyObjCppSourceFile" resource = "EmptyObjCppSourceFile.xft.xml"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/ProjectTemplates">
- <!-- C -->
- <ProjectTemplate id = "EmptyCProject" resource = "EmptyCProject.xpt.xml"/>
- <ProjectTemplate id = "SharedLibraryCProject" resource = "SharedLibraryCProject.xpt.xml"/>
- <ProjectTemplate id = "StaticLibraryCProject" resource = "StaticLibraryCProject.xpt.xml"/>
- <ProjectTemplate id = "ConsoleCProject" resource = "ConsoleCProject.xpt.xml"/>
-
- <!-- C++ -->
- <ProjectTemplate id = "EmptyCppProject" resource = "EmptyCppProject.xpt.xml"/>
- <ProjectTemplate id = "SharedLibraryCppProject" resource = "SharedLibraryCppProject.xpt.xml"/>
- <ProjectTemplate id = "StaticLibraryCppProject" resource = "StaticLibraryCppProject.xpt.xml"/>
- <ProjectTemplate id = "ConsoleCppProject" resource = "ConsoleCppProject.xpt.xml"/>
-
- <!-- ObjC -->
- <ProjectTemplate id = "ConsoleObjCProject" resource = "ConsoleObjCProject.xpt.xml"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Core/MimeTypes">
- <MimeType id="text/x-csrc" icon="md-c-file" isText="true">
- <File pattern="*.c" />
- </MimeType>
- <MimeType id="text/x-chdr" icon="md-h-file" isText="true">
- <File pattern="*.h" />
- </MimeType>
- <MimeType id="text/x-c++src" icon="md-cpp-file" isText="true">
- <File pattern="*.cpp" />
- <File pattern="*.cc" />
- <File pattern="*.cxx" />
- </MimeType>
- <MimeType id="text/x-c++hdr" icon="md-h-file" isText="true">
- <File pattern="*.hpp" />
- <File pattern="*.hh" />
- <File pattern="*.hxx" />
- </MimeType>
- <MimeType id="text/x-objcsrc" icon="md-c-file" isText="true">
- <File pattern="*.m" />
- </MimeType>
- <MimeType id="text/x-objc++src" icon="md-cpp-file" isText="true">
- <File pattern="*.mm" />
- <File pattern="*.M" />
- </MimeType>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/LanguageBindings">
- <LanguageBinding
- id = "C"
- extensions = ".c,.h"
- blockCommentStartTag = "/*"
- blockCommentEndTag = "*/" />
- <LanguageBinding
- id = "CPP"
- extensions = ".cpp,.cxx,.cc,.h,.hpp,.hh,.hxx"
- singleLineCommentTag = "//"
- blockCommentStartTag = "/*"
- blockCommentEndTag = "*/" />
- <LanguageBinding
- id = "Objective C"
- extensions = ".m,.h"
- singleLineCommentTag = "//"
- blockCommentStartTag = "/*"
- blockCommentEndTag = "*/" />
- <LanguageBinding
- id = "Objective C++"
- extensions = ".mm,.M"
- singleLineCommentTag = "//"
- blockCommentStartTag = "/*"
- blockCommentEndTag = "*/" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/GlobalOptionsDialog/Projects">
- <Section
- id = "CBindingOptions"
- _label = "C/C++"
- class = "CBinding.GeneralOptionsPanelBinding"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Build">
- <Condition id = "ItemType" value = "CBinding.CProject">
- <Section
- id = "CompilerPanel"
- _label = "Compiler"
- insertafter = "Compile"
- class = "CBinding.CompilerPanelBinding"/>
- <Section
- id = "CodeGenerationPanel"
- _label = "Code Generation"
- class = "CBinding.CodeGenerationPanelBinding"/>
- <Section
- id = "OutputOptionsPanel"
- _label = "Output"
- class = "CBinding.OutputOptionsPanelBinding"/>
- </Condition>
- </Extension>
-
- <ExtensionPoint path = "/CBinding/Views/ProjectBrowser/ContextMenu/PackagesFolderNode" name = "Packages folder context menu">
- <Description>Context menu for packages folder in the solution pad.</Description>
- <ExtensionNodeSet id = "MonoDevelop.Components.Commands.ItemSet"/>
- </ExtensionPoint>
-
- <ExtensionPoint path = "/CBinding/Views/ProjectBrowser/ContextMenu/PackageNode" name = "ProjectPackage context menu">
- <Description>Context menu for a package in the solution pad.</Description>
- <ExtensionNodeSet id = "MonoDevelop.Components.Commands.ItemSet"/>
- </ExtensionPoint>
-
- <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
- <NodeBuilder id = "CBinding.ProjectPad.ProjectReferencesExtension" class = "CBinding.ProjectPad.ProjectReferencesExtension"/>
- <NodeBuilder id = "CBinding.ProjectPad.ProjectNodeExtension" class = "CBinding.ProjectPad.ProjectNodeExtension"/>
- <NodeBuilder id = "CBinding.ProjectPad.ProjectPackagesFolderNodeBuilder" class = "CBinding.ProjectPad.ProjectPackagesFolderNodeBuilder"/>
- <NodeBuilder id = "CBinding.ProjectPad.ProjectPackageNodeBuilder" class = "CBinding.ProjectPad.ProjectPackageNodeBuilder"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/Pads/ClassPad">
- <NodeBuilder id = "CBinding.Navigation.ProjectNodeBuilderExtension" class = "CBinding.Navigation.ProjectNodeBuilderExtension"/>
- <NodeBuilder id = "CBinding.Navigation.NamespaceNodeBuilder" class = "CBinding.Navigation.NamespaceNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.FunctionNodeBuilder" class = "CBinding.Navigation.FunctionNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.GlobalsNodeBuilder" class = "CBinding.Navigation.GlobalsNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.ClassNodeBuilder" class = "CBinding.Navigation.ClassNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.StructureNodeBuilder" class = "CBinding.Navigation.StructureNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.MemberNodeBuilder" class = "CBinding.Navigation.MemberNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.VariableNodeBuilder" class = "CBinding.Navigation.VariableNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.MacroDefinitionsNodeBuilder" class = "CBinding.Navigation.MacroDefinitionsNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.MacroNodeBuilder" class = "CBinding.Navigation.MacroNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.EnumerationNodeBuilder" class = "CBinding.Navigation.EnumerationNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.EnumeratorNodeBuilder" class = "CBinding.Navigation.EnumeratorNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.UnionNodeBuilder" class = "CBinding.Navigation.UnionNodeBuilder"/>
- <NodeBuilder id = "CBinding.Navigation.TypedefNodeBuilder" class = "CBinding.Navigation.TypedefNodeBuilder"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/Commands">
- <Category _name = "C/C++" id = "C/C++">
- <Command id = "CBinding.CProjectCommands.AddPackage" _label = "Edit Packages..." />
- <Command id = "CBinding.CProjectCommands.UpdateClassPad" _label = "Update class pad" />
- <Command id = "CBinding.CProjectCommands.ShowPackageDetails" _label = "Details..." />
- </Category>
- </Extension>
-
- <Extension path = "/CBinding/Views/ProjectBrowser/ContextMenu/PackagesFolderNode">
- <CommandItem id = "CBinding.CProjectCommands.AddPackage"/>
- <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Paste"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/ContextMenu/ClassPad/Project">
- <CommandItem id = "CBinding.CProjectCommands.UpdateClassPad"/>
- </Extension>
-
- <Extension path = "/CBinding/Views/ProjectBrowser/ContextMenu/PackageNode">
- <CommandItem id = "CBinding.CProjectCommands.ShowPackageDetails"/>
- <SeparatorItem id = "Separator1" />
- <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Copy"/>
- <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Delete"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
- <Class fileExtensions=".c,.cpp,.cxx,.cc,.h,.hpp,.hh,.hxx,.m,.mm,.M" class = "CBinding.CTextEditorExtension" />
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/SerializableClasses">
- <DataType class = "CBinding.CProjectConfiguration"/>
- <DataType class = "CBinding.CProject"/>
- <DataType class = "CBinding.GccCompiler"/>
- <DataType class = "CBinding.GppCompiler"/>
- <DataType class = "CBinding.Package"/>
- </Extension>
-
-<!-- Current Autotools AddIn is very .NET specific
- <Module>
- <Runtime>
- <Import assembly = "CBinding.Autotools.dll"/>
- </Runtime>
-
- <Dependencies>
- <Addin id = "MonoDevelop.Autotools" version = "4.2.3"/>
- </Dependencies>
-
- <Extension path = "/Autotools/SimpleSetups">
- <Class class = "CBinding.Autotools.CAutotoolsSetup"/>
- </Extension>
- </Module>
--->
-
- <Extension path = "/MonoDevelop/TypeSystem/Parser">
- <Parser class="CBinding.Parser.CDocumentParser" mimeType = "text/x-csrc, text/x-chdr, text/x-c++src, text/x-c++hdr, text/x-objcsrc, text/x-objc++src" />
- </Extension>
-
- <Extension path="/MonoDevelop/SourceEditor2/ContextMenu/Editor">
- <Condition id="FileType" fileExtensions=".c,.cpp,.cxx,.cc,.h,.hpp,.hh,.hxx,.m,.mm,.M">
- <CommandItem id = "MonoDevelop.Refactoring.RefactoryCommands.GotoDeclaration" insertafter="MonoDevelop.SourceEditor.SourceEditorCommands.MarkerOperations" />
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/CompletionCharacters">
- <Complete language="C/C++" commitOnSpace="True" commitChars="{}[]().,:;+-*/%&amp;|^!~=&lt;&gt;?@#'&quot;\"/>
- </Extension>
-</ExtensionModel>
diff --git a/main/src/addins/CBinding/CBinding.csproj b/main/src/addins/CBinding/CBinding.csproj
deleted file mode 100644
index 1c4ee03b17..0000000000
--- a/main/src/addins/CBinding/CBinding.csproj
+++ /dev/null
@@ -1,316 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{7B57882B-AD46-469B-84E7-06DF98D11468}</ProjectGuid>
- <OutputType>Library</OutputType>
- <RootNamespace>CBinding</RootNamespace>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- <AssemblyName>MonoDevelop.CBinding</AssemblyName>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>False</Optimize>
- <OutputPath>..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <AssemblyOriginatorKeyFile>.</AssemblyOriginatorKeyFile>
- <DefineConstants>DEBUG</DefineConstants>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.xml</DocumentationFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>True</Optimize>
- <OutputPath>..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <DebugSymbols>true</DebugSymbols>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.xml</DocumentationFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugGnome|AnyCPU' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>False</Optimize>
- <OutputPath>..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <AssemblyOriginatorKeyFile>.</AssemblyOriginatorKeyFile>
- <DefineConstants>DEBUG;GNOME</DefineConstants>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.xml</DocumentationFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseGnome|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>True</Optimize>
- <OutputPath>..\..\..\build\AddIns\BackendBindings\</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>False</ConsolePause>
- <Execution>
- <Execution clr-version="Net_2_0" />
- </Execution>
- <DebugSymbols>true</DebugSymbols>
- <DefineConstants>GNOME</DefineConstants>
- <NoWarn>1591;1573</NoWarn>
- <DocumentationFile>..\..\..\build\AddIns\BackendBindings\MonoDevelop.CBinding.xml</DocumentationFile>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Xml" />
- <Reference Include="Mono.Posix" />
- <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <SpecificVersion>False</SpecificVersion>
- </Reference>
- <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <SpecificVersion>False</SpecificVersion>
- </Reference>
- <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <SpecificVersion>False</SpecificVersion>
- </Reference>
- <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <SpecificVersion>False</SpecificVersion>
- </Reference>
- <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
- <SpecificVersion>False</SpecificVersion>
- </Reference>
- <Reference Include="System.Core" />
- <Reference Include="System.Reflection.Metadata">
- <HintPath>..\..\..\external\roslyn\Binaries\Release\System.Reflection.Metadata.dll</HintPath>
- <Private>False</Private>
- </Reference>
- <Reference Include="System.Collections.Immutable">
- <HintPath>..\..\..\external\roslyn\Binaries\Release\System.Collections.Immutable.dll</HintPath>
- <Private>False</Private>
- </Reference>
- <Reference Include="Microsoft.CodeAnalysis">
- <HintPath>..\..\..\external\roslyn\Binaries\Release\Microsoft.CodeAnalysis.dll</HintPath>
- <Private>False</Private>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj">
- <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project>
- <Name>MonoDevelop.Ide</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj">
- <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project>
- <Name>MonoDevelop.Core</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\Deployment\MonoDevelop.Deployment\MonoDevelop.Deployment.csproj">
- <Project>{9BC670A8-1851-40EC-9685-279F4C98433D}</Project>
- <Name>MonoDevelop.Deployment</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\Deployment\MonoDevelop.Deployment.Linux\MonoDevelop.Deployment.Linux.csproj">
- <Project>{BA9020AD-A2D1-47C8-9A7C-756162C38296}</Project>
- <Name>MonoDevelop.Deployment.Linux</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj">
- <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project>
- <Name>MonoDevelop.DesignerSupport</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\MonoDevelop.Refactoring\MonoDevelop.Refactoring.csproj">
- <Project>{100568FC-F4E8-439B-94AD-41D11724E45B}</Project>
- <Name>MonoDevelop.Refactoring</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
- <Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
- <Name>ICSharpCode.NRefactory</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj">
- <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project>
- <Name>MonoDevelop.Debugger</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\external\mono-addins\Mono.Addins\Mono.Addins.csproj">
- <Project>{91DD5A2D-9FE3-4C3C-9253-876141874DAD}</Project>
- <Name>Mono.Addins</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj">
- <Project>{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}</Project>
- <Name>Mono.Debugging</Name>
- <Private>False</Private>
- </ProjectReference>
- <ProjectReference Include="..\..\..\external\xwt\Xwt\Xwt.csproj">
- <Project>{92494904-35FA-4DC9-BDE9-3A3E87AC49D3}</Project>
- <Name>Xwt</Name>
- <Private>False</Private>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <None Include="Makefile.am" />
- <None Include="README" />
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="CBinding.addin.xml">
- <LogicalName>CBinding.addin.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCProject.xpt.xml">
- <LogicalName>EmptyCProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCSourceFile.xft.xml">
- <LogicalName>EmptyCSourceFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCppProject.xpt.xml">
- <LogicalName>EmptyCppProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="gtk-gui\gui.stetic">
- <LogicalName>gui.stetic</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCHeaderFile.xft.xml">
- <LogicalName>EmptyCHeaderFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCppHeaderFile.xft.xml">
- <LogicalName>EmptyCppHeaderFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyCppSourceFile.xft.xml">
- <LogicalName>EmptyCppSourceFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\SharedLibraryCProject.xpt.xml">
- <LogicalName>SharedLibraryCProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\SharedLibraryCppProject.xpt.xml">
- <LogicalName>SharedLibraryCppProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\StaticLibraryCProject.xpt.xml">
- <LogicalName>StaticLibraryCProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\StaticLibraryCppProject.xpt.xml">
- <LogicalName>StaticLibraryCppProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\ConsoleCProject.xpt.xml">
- <LogicalName>ConsoleCProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\ConsoleCppProject.xpt.xml">
- <LogicalName>ConsoleCppProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\ConsoleObjCProject.xpt.xml">
- <LogicalName>ConsoleObjCProject.xpt.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyObjCSourceFile.xft.xml">
- <LogicalName>EmptyObjCSourceFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="templates\EmptyObjCppSourceFile.xft.xml">
- <LogicalName>EmptyObjCppSourceFile.xft.xml</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="icons\union-private-16.png">
- <LogicalName>union-private-16.png</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="icons\union-protected-16.png">
- <LogicalName>union-protected-16.png</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="icons\union-16.png">
- <LogicalName>union-16.png</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="icons\update.png">
- <LogicalName>update.png</LogicalName>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Project\CProject.cs" />
- <Compile Include="Project\CProjectConfiguration.cs" />
- <Compile Include="gtk-gui\generated.cs" />
- <Compile Include="Gui\CodeGenerationPanel.cs" />
- <Compile Include="Compiler\CCompiler.cs" />
- <Compile Include="Compiler\GccCompiler.cs" />
- <Compile Include="Compiler\GppCompiler.cs" />
- <Compile Include="Compiler\GNUCompiler.cs" />
- <Compile Include="Gui\CompilerPanel.cs" />
- <Compile Include="gtk-gui\CBinding.CodeGenerationPanel.cs" />
- <Compile Include="gtk-gui\CBinding.CompilerPanel.cs" />
- <Compile Include="Compiler\ICompiler.cs" />
- <Compile Include="Project\ProjectPackageCollection.cs" />
- <Compile Include="Gui\EditPackagesDialog.cs" />
- <Compile Include="gtk-gui\CBinding.EditPackagesDialog.cs" />
- <Compile Include="Project\Package.cs" />
- <Compile Include="Project\ProjectPackageEventArgs.cs" />
- <Compile Include="Gui\OutputOptionsPanel.cs" />
- <Compile Include="gtk-gui\CBinding.OutputOptionsPanel.cs" />
- <Compile Include="Navigation\ProjectNodeBuilderExtension.cs" />
- <Compile Include="Navigation\NamespaceNodeBuilder.cs" />
- <Compile Include="ProjectPad\ProjectReferencesExtension.cs" />
- <Compile Include="ProjectPad\ProjectPackagesFolderNodeBuilder.cs" />
- <Compile Include="ProjectPad\ProjectPackageNodeBuilder.cs" />
- <Compile Include="ProjectPad\ProjectNodeExtension.cs" />
- <Compile Include="Navigation\FunctionNodeBuilder.cs" />
- <Compile Include="Navigation\GlobalsNodeBuilder.cs" />
- <Compile Include="Navigation\ClassNodeBuilder.cs" />
- <Compile Include="Navigation\LanguageItemCommandHandler.cs" />
- <Compile Include="Navigation\StructureNodeBuilder.cs" />
- <Compile Include="Navigation\MemberNodeBuilder.cs" />
- <Compile Include="Navigation\VariableNodeBuilder.cs" />
- <Compile Include="Navigation\MacroNodeBuilder.cs" />
- <Compile Include="Navigation\MacroDefinitionsNodeBuilder.cs" />
- <Compile Include="Navigation\EnumerationNodeBuilder.cs" />
- <Compile Include="Navigation\EnumeratorNodeBuilder.cs" />
- <Compile Include="Navigation\UnionNodeBuilder.cs" />
- <Compile Include="Navigation\TypedefNodeBuilder.cs" />
- <Compile Include="Navigation\LanguageItemEventArgs.cs" />
- <Compile Include="Navigation\ClassPadEventArgs.cs" />
- <Compile Include="Parser\ProjectInformation.cs" />
- <Compile Include="Parser\ProjectInformationManager.cs" />
- <Compile Include="Parser\TagDatabaseManager.cs" />
- <Compile Include="Parser\Tag.cs" />
- <Compile Include="Gui\CTextEditorExtension.cs" />
- <Compile Include="Gui\DataProvider.cs" />
- <Compile Include="Parser\Class.cs" />
- <Compile Include="Parser\Enumeration.cs" />
- <Compile Include="Parser\Enumerator.cs" />
- <Compile Include="Parser\Function.cs" />
- <Compile Include="Parser\LanguageItem.cs" />
- <Compile Include="Parser\Macro.cs" />
- <Compile Include="Parser\Member.cs" />
- <Compile Include="Parser\Namespace.cs" />
- <Compile Include="Parser\Structure.cs" />
- <Compile Include="Parser\Typedef.cs" />
- <Compile Include="Parser\Union.cs" />
- <Compile Include="Parser\Variable.cs" />
- <Compile Include="Gui\GeneralOptionsPanel.cs" />
- <Compile Include="gtk-gui\CBinding.GeneralOptionsPanel.cs" />
- <Compile Include="Parser\Local.cs" />
- <Compile Include="Gui\PackageDetails.cs" />
- <Compile Include="gtk-gui\CBinding.PackageDetails.cs" />
- <Compile Include="AssemblyInfo.cs" />
- <Compile Include="Parser\CDocumentParser.cs" />
- <Compile Include="Parser\CompilationUnitDataProvider.cs" />
- <Compile Include="Parser\DataProvider.cs" />
- <Compile Include="Parser\CTagsManager.cs" />
- <Compile Include="Parser\ExuberantCTagsManager.cs" />
- <Compile Include="Parser\BsdCTagsManager.cs" />
- <Compile Include="AddinInfo.cs" />
- <Compile Include="Gui\DataWrapper.cs" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ProjectExtensions>
- <MonoDevelop>
- <Properties>
- <Deployment.LinuxDeployData scriptName="cbinding" />
- </Properties>
- </MonoDevelop>
- </ProjectExtensions>
-</Project>
diff --git a/main/src/addins/CBinding/Compiler/CCompiler.cs b/main/src/addins/CBinding/Compiler/CCompiler.cs
deleted file mode 100644
index 019daeb729..0000000000
--- a/main/src/addins/CBinding/Compiler/CCompiler.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-// CCompiler.cs: asbtract class that provides some basic implementation for ICompiler
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.CodeDom.Compiler;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide;
-
-namespace CBinding
-{
- public abstract class CCompiler : ICompiler
- {
- protected string compilerCommand;
- protected string linkerCommand;
-
- public abstract string Name {
- get;
- }
-
- public abstract Language Language {
- get;
- }
-
- public string CompilerCommand {
- get { return compilerCommand; }
- }
-
- public abstract bool SupportsCcache {
- get;
- }
-
- public abstract bool SupportsPrecompiledHeaders {
- get;
- }
-
- public abstract string GetCompilerFlags (Project project, CProjectConfiguration configuration);
-
- public abstract string GetDefineFlags (Project project, CProjectConfiguration configuration);
-
- public abstract BuildResult Compile (
- Project project,
- ProjectFileCollection projectFiles,
- ProjectPackageCollection packages,
- CProjectConfiguration configuration,
- ProgressMonitor monitor);
-
- public abstract void Clean (ProjectFileCollection projectFiles, CProjectConfiguration configuration, ProgressMonitor monitor);
-
- protected abstract void ParseCompilerOutput (string errorString, CompilerResults cr);
-
- protected abstract void ParseLinkerOutput (string errorString, CompilerResults cr);
-
- protected string GeneratePkgLinkerArgs (ProjectPackageCollection packages)
- {
- return GeneratePkgConfigArgs (packages, "--libs");
- }
-
- protected string GeneratePkgCompilerArgs (ProjectPackageCollection packages)
- {
- return GeneratePkgConfigArgs (packages, "--cflags");
- }
-
- protected static string GeneratePkgConfigArgs (ProjectPackageCollection packages, string pkgConfigArg)
- {
- if (packages == null || packages.Count < 1)
- return string.Empty;
- string originalPkgConfigPath = Environment.GetEnvironmentVariable ("PKG_CONFIG_PATH");
- string pkgConfigPath = originalPkgConfigPath;
-
- StringBuilder libs = new StringBuilder ();
-
- foreach (Package p in packages) {
- if (Path.IsPathRooted (p.File)) {
- pkgConfigPath = string.Format ("{0}{1}{2}", pkgConfigPath, Path.PathSeparator, Path.GetDirectoryName (p.File));
- libs.Append (Path.GetFileNameWithoutExtension (p.File) + " ");
- } else {
- libs.Append (p.File + " ");
- }
- }
-
- string args = string.Format ("{0} \"{1}\"", pkgConfigArg, libs.ToString ().Trim ());
-
- StringWriter output = new StringWriter ();
- ProcessWrapper proc = new ProcessWrapper ();
-
- try {
- Environment.SetEnvironmentVariable ("PKG_CONFIG_PATH", pkgConfigPath);
- proc = Runtime.ProcessService.StartProcess ("pkg-config", args, null, null);
- proc.WaitForExit ();
-
- string line;
- while ((line = proc.StandardOutput.ReadLine ()) != null)
- output.WriteLine (line);
- } catch (Exception ex) {
- MessageService.ShowError ("You need to have pkg-config installed");
- } finally {
- proc.Close ();
- Environment.SetEnvironmentVariable ("PKG_CONFIG_PATH", originalPkgConfigPath);
- }
-
- return output.ToString ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Compiler/GNUCompiler.cs b/main/src/addins/CBinding/Compiler/GNUCompiler.cs
deleted file mode 100644
index 19e8446e6d..0000000000
--- a/main/src/addins/CBinding/Compiler/GNUCompiler.cs
+++ /dev/null
@@ -1,796 +0,0 @@
-//
-// GNUCompiler.cs: Provides most functionality to compile using a GNU compiler (gcc and g++)
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-// Mitchell Wheeler <mitchell.wheeler@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.CodeDom.Compiler;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Core.ProgressMonitoring;
-using MonoDevelop.Projects;
-
-namespace CBinding
-{
- public abstract class GNUCompiler : CCompiler
- {
- bool appsChecked;
- bool compilerFound;
- bool linkerFound;
-
- public override BuildResult Compile (
- Project project,
- ProjectFileCollection projectFiles,
- ProjectPackageCollection packages,
- CProjectConfiguration configuration,
- ProgressMonitor monitor)
- {
- if (!appsChecked) {
- appsChecked = true;
- compilerFound = CheckApp (compilerCommand);
- linkerFound = CheckApp (linkerCommand);
- }
-
- if (!compilerFound) {
- BuildResult cres = new BuildResult ();
- cres.AddError ("Compiler not found: " + compilerCommand);
- return cres;
- }
-
- if (!linkerFound) {
- BuildResult cres = new BuildResult ();
- cres.AddError ("Linker not found: " + linkerCommand);
- return cres;
- }
-
- CompilerResults cr = new CompilerResults (new TempFileCollection ());
- bool success = true;
- string compilerArgs = GetCompilerFlags (project, configuration) + " " + GeneratePkgCompilerArgs (packages);
-
- string outputName = Path.Combine (configuration.OutputDirectory,
- configuration.CompiledOutputName);
-
- // Precompile header files and place them in prec/<config_name>/
- if (configuration.PrecompileHeaders) {
- string precDir = Path.Combine (configuration.IntermediateOutputDirectory, "prec");
- string precConfigDir = Path.Combine (precDir, configuration.Id);
- if (!Directory.Exists (precDir))
- Directory.CreateDirectory (precDir);
- if (!Directory.Exists (precConfigDir))
- Directory.CreateDirectory (precConfigDir);
-
- if (!PrecompileHeaders (projectFiles, configuration, compilerArgs, monitor, cr))
- success = false;
- } else {
- //old headers could interfere with the build
- CleanPrecompiledHeaders (configuration);
- }
-
- //compile source to object files
- monitor.BeginTask (GettextCatalog.GetString ("Compiling source to object files"), 1);
- foreach (ProjectFile f in projectFiles) {
- if (!success) break;
- if (f.Subtype == Subtype.Directory || f.BuildAction != BuildAction.Compile || CProject.IsHeaderFile (f.FilePath))
- continue;
-
- if (configuration.UseCcache || NeedsCompiling (f, configuration))
- success = DoCompilation (f, configuration, compilerArgs, monitor, cr, configuration.UseCcache);
- }
- if (success)
- monitor.Step (1);
- monitor.EndTask ();
-
- if (success) {
- switch (configuration.CompileTarget)
- {
- case CBinding.CompileTarget.Bin:
- MakeBin (project, projectFiles, configuration, packages, cr, monitor, outputName);
- break;
- case CBinding.CompileTarget.StaticLibrary:
- MakeStaticLibrary (project, projectFiles, configuration, packages, cr, monitor, outputName);
- break;
- case CBinding.CompileTarget.SharedLibrary:
- MakeSharedLibrary (project, projectFiles, configuration, packages, cr, monitor, outputName);
- break;
- }
- }
-
- return new BuildResult (cr, "");
- }
-
- public override bool SupportsCcache {
- get { return true; }
- }
-
- public override bool SupportsPrecompiledHeaders {
- get { return true; }
- }
-
- Dictionary<string, string> GetStringTags (Project project)
- {
- Dictionary<string, string> result = new Dictionary<string, string> (StringComparer.InvariantCultureIgnoreCase);
- result["PROJECTDIR"] = project.BaseDirectory;
- result["PROJECTFILENAME"] = project.FileName;
- return result;
- }
-
- public override string GetCompilerFlags (Project project, CProjectConfiguration configuration)
- {
- StringBuilder args = new StringBuilder ();
-
- if (configuration.DebugSymbols)
- args.Append ("-g ");
-
- if (configuration.CompileTarget == CBinding.CompileTarget.SharedLibrary)
- args.Append ("-fPIC ");
-
- switch (configuration.WarningLevel)
- {
- case WarningLevel.None:
- args.Append ("-w ");
- break;
- case WarningLevel.Normal:
- // nothing
- break;
- case WarningLevel.All:
- args.Append ("-Wall ");
- break;
- }
-
- if (configuration.WarningsAsErrors)
- args.Append ("-Werror ");
-
- args.Append ("-O" + configuration.OptimizationLevel + " ");
-
- if (configuration.ExtraCompilerArguments != null && configuration.ExtraCompilerArguments.Length > 0) {
- string extraCompilerArgs = ExpandBacktickedParameters(configuration.ExtraCompilerArguments.Replace ('\n', ' '));
- args.Append (extraCompilerArgs + " ");
- }
-
- if (configuration.DefineSymbols != null && configuration.DefineSymbols.Length > 0)
- args.Append (ProcessDefineSymbols (configuration.DefineSymbols) + " ");
-
- if (configuration.Includes != null)
- foreach (string inc in configuration.Includes)
- args.Append ("-I\"" + StringParserService.Parse (inc, GetStringTags (project)) + "\" ");
-
- if (configuration.PrecompileHeaders) {
- string precdir = Path.Combine (configuration.IntermediateOutputDirectory, "prec");
- precdir = Path.Combine (precdir, configuration.Id);
- args.Append ("-I\"" + precdir + "\"");
- }
-
- return args.ToString ();
- }
-
- public override string GetDefineFlags (Project project, CProjectConfiguration configuration)
- {
- return ProcessDefineSymbols (configuration.DefineSymbols);
- }
-
- private bool NeedsCompiling (ProjectFile file, CProjectConfiguration configuration)
- {
- string objectFile = Path.Combine(configuration.OutputDirectory, Path.GetFileName(file.Name));
- objectFile = Path.ChangeExtension(objectFile, ".o");
- if (!File.Exists (objectFile))
- return true;
-
- string[] dependedOnFiles = DependedOnFiles (file, configuration);
- if (dependedOnFiles == null) {
- return true;
- }
-
- DateTime lastObjectTime = File.GetLastWriteTime (objectFile);
-
- try {
- foreach (string depfile in dependedOnFiles) {
- if (File.GetLastWriteTime (depfile) > lastObjectTime) {
- return true;
- }
- }
- } catch (IOException e) {
- // This means the dependency file is telling us our source file
- // depends on a file that no longer exists, all this means is that
- // the dependency file is outdated. We should just ignore this
- // since the dependency file will be automatically updated when
- // the source file is compiled.
- e.ToString (); // suppress warning.
- }
-
- return false;
- }
-
- /// <summary>
- /// Returns an array of depended on files or null if the
- /// file containing the depended on files (.d) does does not exist.
- /// </summary>
- private string[] DependedOnFiles (ProjectFile file, CProjectConfiguration configuration)
- {
- List<string> dependencies = new List<string> ();
- string dependenciesFile = Path.Combine(configuration.OutputDirectory, Path.GetFileName(file.Name));
- dependenciesFile = Path.ChangeExtension(dependenciesFile, ".d");
-
- if (!File.Exists (dependenciesFile))
- return null;
-
- // It always depends on itself ;)
- dependencies.Add (file.Name);
-
- string temp;
- using (StreamReader reader = new StreamReader (dependenciesFile)) {
- while ((temp = reader.ReadLine ()) != null) {
- // TODO: We really should be using a regex here,
- // this will have issues with pathnames containing double spaces.
- string depfile = temp.Replace(" \\", String.Empty).Trim();
-
- // Ignore empty strings & object files...
- if(String.IsNullOrEmpty(depfile) ||
- depfile.EndsWith(".o:") || depfile.EndsWith(".o"))
- continue;
-
- dependencies.Add(depfile.Replace(@"\ ", " "));
- }
- }
-
- return dependencies.ToArray();
- }
-
- private bool PrecompileHeaders (ProjectFileCollection projectFiles,
- CProjectConfiguration configuration,
- string args,
- ProgressMonitor monitor,
- CompilerResults cr)
- {
- monitor.BeginTask (GettextCatalog.GetString ("Precompiling headers"), 1);
- bool success = true;
-
- foreach (ProjectFile file in projectFiles) {
- if (file.Subtype == Subtype.Code && CProject.IsHeaderFile (file.Name)) {
- string precomp = Path.Combine (configuration.IntermediateOutputDirectory, "prec");
- precomp = Path.Combine (precomp, configuration.Id);
- precomp = Path.Combine (precomp, Path.GetFileName (file.Name) + ".ghc");
- if (file.BuildAction == BuildAction.Compile) {
- if (!File.Exists (precomp) || configuration.UseCcache || File.GetLastWriteTime (file.Name) > File.GetLastWriteTime (precomp)) {
- if (DoPrecompileHeader (file, precomp, args, monitor, cr) == false) {
- success = false;
- break;
- }
- }
- } else {
- //remove old files or they'll interfere with the build
- if (File.Exists (precomp))
- File.Delete (precomp);
- }
- }
-
- }
- if (success)
- monitor.Step (1);
- monitor.EndTask ();
- return success;
- }
-
- private bool DoPrecompileHeader (ProjectFile file, string output, string args, ProgressMonitor monitor, CompilerResults cr)
- {
- string completeArgs = String.Format ("\"{0}\" {1} -o {2}", file.Name, args, output);
- string errorOutput;
- int exitCode = ExecuteCommand (compilerCommand, completeArgs, Path.GetDirectoryName (output), monitor, out errorOutput);
- ParseCompilerOutput (errorOutput, cr);
- return (exitCode == 0);
- }
-
- static readonly string[] libraryExtensions = { ".so", ".a", ".dll", ".dylib" };
- /// <summary>
- /// Checks whether a library can be linked with -lbasename
- /// </summary>
- /// <remarks>
- /// This should return true iff directory is empty or in
- /// the configured library paths, and library is of the form blah
- /// or libblah.(a|so|dll|dylib),
- /// </remarks>
- internal bool IsStandardLibrary(CProjectConfiguration configuration,
- string directory, string library,
- ref string std_lib)
- {
- std_lib = library;
-
- if(!(String.IsNullOrEmpty(directory) ||
- configuration.LibPaths.Contains(directory)))
- return false;
-
- string libraryExtension = Path.GetExtension (library);
-
- foreach (string extension in libraryExtensions)
- {
- if (libraryExtension.Equals (extension, StringComparison.OrdinalIgnoreCase)) {
- if (library.StartsWith("lib", StringComparison.OrdinalIgnoreCase)) {
- std_lib = std_lib.Substring(3);
- return true;
- } else {
- return false;
- }
- }
- }
-
- return true;
- }
-
- private void MakeBin (Project project,
- ProjectFileCollection projectFiles,
- CProjectConfiguration configuration,
- ProjectPackageCollection packages,
- CompilerResults cr,
- ProgressMonitor monitor, string outputName)
- {
- if (!NeedsUpdate (projectFiles, configuration, outputName)) return;
-
- string objectFiles = string.Join (" ", ObjectFiles (projectFiles, configuration, true));
- string pkgargs = GeneratePkgLinkerArgs (packages);
- StringBuilder args = new StringBuilder ();
-
- if (configuration.ExtraLinkerArguments != null && configuration.ExtraLinkerArguments.Length > 0) {
- string extraLinkerArgs = ExpandBacktickedParameters(configuration.ExtraLinkerArguments.Replace ('\n', ' '));
- args.Append (extraLinkerArgs + " ");
- }
-
- if (configuration.LibPaths != null)
- foreach (string libpath in configuration.LibPaths)
- args.Append ("-L\"" + StringParserService.Parse (libpath, GetStringTags (project)) + "\" ");
-
- if (configuration.Libs != null) {
- foreach (string lib in configuration.Libs) {
- string directory = Path.GetDirectoryName(lib);
- string library = Path.GetFileName(lib);
-
- // Is this a 'standard' (as in, uses an orthodox naming convention) library..?
- string link_lib = String.Empty;
- if(IsStandardLibrary(configuration, directory, library, ref link_lib))
- args.Append ("-l\"" + link_lib + "\" ");
- // If not, reference the library by it's full pathname.
- else
- args.Append ("\"" + lib + "\" ");
- }
- }
-
- string linker_args = string.Format ("-o \"{0}\" {1} {2} {3}",
- outputName, objectFiles, pkgargs, args.ToString ());
-
- monitor.BeginTask (GettextCatalog.GetString ("Generating binary \"{0}\" from object files", Path.GetFileName (outputName)), 1);
-
- string errorOutput;
- int exitCode = ExecuteCommand (linkerCommand, linker_args, Path.GetDirectoryName (outputName), monitor, out errorOutput);
- if (exitCode == 0)
- monitor.Step (1);
- monitor.EndTask ();
-
- ParseCompilerOutput (errorOutput, cr);
- ParseLinkerOutput (errorOutput, cr);
- CheckReturnCode (exitCode, cr);
- }
-
- private void MakeStaticLibrary (Project project,
- ProjectFileCollection projectFiles,
- CProjectConfiguration configuration,
- ProjectPackageCollection packages,
- CompilerResults cr,
- ProgressMonitor monitor, string outputName)
- {
- if (!NeedsUpdate (projectFiles, configuration, outputName)) return;
-
- string objectFiles = string.Join (" ", ObjectFiles (projectFiles, configuration, true));
- string args = string.Format ("rcs \"{0}\" {1}", outputName, objectFiles);
-
- monitor.BeginTask (GettextCatalog.GetString ("Generating static library {0} from object files", Path.GetFileName (outputName)), 1);
-
- string errorOutput;
- int exitCode = ExecuteCommand ("ar", args, Path.GetDirectoryName (outputName), monitor, out errorOutput);
- if (exitCode == 0)
- monitor.Step (1);
- monitor.EndTask ();
-
- ParseCompilerOutput (errorOutput, cr);
- ParseLinkerOutput (errorOutput, cr);
- CheckReturnCode (exitCode, cr);
- }
-
- private void MakeSharedLibrary(Project project,
- ProjectFileCollection projectFiles,
- CProjectConfiguration configuration,
- ProjectPackageCollection packages,
- CompilerResults cr,
- ProgressMonitor monitor, string outputName)
- {
- if (!NeedsUpdate (projectFiles, configuration, outputName)) return;
-
- string objectFiles = string.Join (" ", ObjectFiles (projectFiles, configuration, true));
- string pkgargs = GeneratePkgLinkerArgs (packages);
- StringBuilder args = new StringBuilder ();
-
- if (configuration.ExtraLinkerArguments != null && configuration.ExtraLinkerArguments.Length > 0) {
- string extraLinkerArgs = ExpandBacktickedParameters(configuration.ExtraLinkerArguments.Replace ('\n', ' '));
- args.Append (extraLinkerArgs + " ");
- }
-
- if (configuration.LibPaths != null)
- foreach (string libpath in configuration.LibPaths)
- args.Append ("-L\"" + StringParserService.Parse (libpath, GetStringTags (project)) + "\" ");
-
- if (configuration.Libs != null) {
- foreach (string lib in configuration.Libs) {
- string directory = Path.GetDirectoryName(lib);
- string library = Path.GetFileName(lib);
-
- // Is this a 'standard' (as in, uses an orthodox naming convention) library..?
- string link_lib = String.Empty;
- if(IsStandardLibrary(configuration, directory, library, ref link_lib))
- args.Append ("-l\"" + link_lib + "\" ");
- // If not, reference the library by it's full pathname.
- else
- args.Append ("\"" + lib + "\" ");
- }
- }
-
- string linker_args = string.Format ("-shared -o \"{0}\" {1} {2} {3}",
- outputName, objectFiles, pkgargs, args.ToString ());
-
- monitor.BeginTask (GettextCatalog.GetString ("Generating shared object \"{0}\" from object files", Path.GetFileName (outputName)), 1);
-
- string errorOutput;
- int exitCode = ExecuteCommand (linkerCommand , linker_args, Path.GetDirectoryName (outputName), monitor, out errorOutput);
- if (exitCode == 0)
- monitor.Step (1);
- monitor.EndTask ();
-
- ParseCompilerOutput (errorOutput, cr);
- ParseLinkerOutput (errorOutput, cr);
- CheckReturnCode (exitCode, cr);
- }
-
- int ExecuteCommand (string command, string args, string baseDirectory, ProgressMonitor monitor, out string errorOutput)
- {
- errorOutput = string.Empty;
- int exitCode = -1;
-
- using (var swError = new StringWriter ()) {
- using (var chainedError = new LogTextWriter ()) {
- chainedError.ChainWriter (monitor.Log);
- chainedError.ChainWriter (swError);
-
- monitor.Log.WriteLine ("{0} {1}", command, args);
-
- using (ProcessWrapper p = Runtime.ProcessService.StartProcess (command, args, baseDirectory, monitor.Log, chainedError, null))
- using (monitor.CancellationToken.Register (p.Cancel)) {
- p.WaitForOutput ();
- chainedError.UnchainWriter (monitor.Log);
- chainedError.UnchainWriter (swError);
-
- errorOutput = swError.ToString ();
- exitCode = p.ExitCode;
-
- if (monitor.CancellationToken.IsCancellationRequested) {
- monitor.Log.WriteLine (GettextCatalog.GetString ("Build cancelled"));
- monitor.ReportError (GettextCatalog.GetString ("Build cancelled"), null);
- if (exitCode == 0)
- exitCode = -1;
- }
- }
- }
- }
-
- return exitCode;
- }
-
- private string ProcessDefineSymbols (string symbols)
- {
- StringBuilder processed = new StringBuilder (symbols);
-
- // Take care of multi adyacent spaces
- for (int i = 0; i < processed.Length; i++) {
- if (i + 1 < processed.Length &&
- processed[i] == ' ' &&
- processed[i + 1] == ' ') {
- processed.Remove (i--, 1);
- }
- }
-
- return processed.ToString ()
- .Trim ()
- .Replace (" ", " -D")
- .Insert (0, "-D");
- }
-
- /// <summary>
- /// Compiles a single source file into object code
- /// and creates a file with it's dependencies.
- /// </summary>
- private bool DoCompilation (ProjectFile file,
- CProjectConfiguration configuration,
- string args,
- ProgressMonitor monitor,
- CompilerResults cr,
- bool use_ccache)
- {
-
- string outputName = Path.Combine(configuration.OutputDirectory, Path.GetFileName(Path.ChangeExtension (file.Name, ".o")));
-
- string compiler_args = string.Format ("{0} -MMD \"{1}\" {2} -c -o \"{3}\"",
- (use_ccache ? compilerCommand : string.Empty), file.Name, args, outputName);
-
- string errorOutput;
- int exitCode = ExecuteCommand ((use_ccache ? "ccache" : compilerCommand), compiler_args, configuration.OutputDirectory, monitor, out errorOutput);
-
- ParseCompilerOutput (errorOutput, cr);
- CheckReturnCode (exitCode, cr);
- return exitCode == 0;
- }
-
- /// <summary>
- /// Gets the files that get compiled into object code.
- /// </summary>
- /// <param name="projectFiles">
- /// A <see cref="ProjectFileCollection"/>
- /// The project's files, extracts from here the files that get compiled into object code.
- /// </param>
- /// <param name="configuration">
- /// A <see cref="CProjectConfiguration"/>
- /// The configuration to get the object files for...
- /// </param>
- /// <param name="withQuotes">
- /// A <see cref="System.Boolean"/>
- /// If true, it will surround each object file with quotes
- /// so that gcc has no problem with paths that contain spaces.
- /// </param>
- /// <returns>
- /// An array of strings, each string is the name of a file
- /// that will get compiled into object code. The file name
- /// will already have the .o extension.
- /// </returns>
- private string[] ObjectFiles (ProjectFileCollection projectFiles, CProjectConfiguration configuration, bool withQuotes)
- {
- if(projectFiles.Count == 0)
- return new string[] {};
-
- List<string> objectFiles = new List<string> ();
-
- foreach (ProjectFile f in projectFiles) {
- if (f.BuildAction == BuildAction.Compile) {
- string PathName = Path.Combine(configuration.OutputDirectory, Path.GetFileNameWithoutExtension(f.Name) + ".o");
-
- if(File.Exists(PathName) == false)
- continue;
-
- if (!withQuotes)
- objectFiles.Add (PathName);
- else
- objectFiles.Add ("\"" + PathName + "\"");
- }
- }
-
- return objectFiles.ToArray ();
- }
-
- public override void Clean (ProjectFileCollection projectFiles, CProjectConfiguration configuration, ProgressMonitor monitor)
- {
- //clean up object files
- foreach (string oFile in ObjectFiles(projectFiles, configuration, false)) {
- if (File.Exists (oFile))
- File.Delete (oFile);
-
- string dFile = Path.ChangeExtension (oFile, ".d");
- if (File.Exists (dFile))
- File.Delete (dFile);
- }
-
- CleanPrecompiledHeaders (configuration);
- }
-
- void CleanPrecompiledHeaders (CProjectConfiguration configuration)
- {
- if (string.IsNullOrEmpty (configuration.IntermediateOutputDirectory))
- return;
-
- string precDir = Path.Combine (configuration.IntermediateOutputDirectory, "prec");
-
- if (Directory.Exists (precDir))
- Directory.Delete (precDir, true);
- }
-
- private bool NeedsUpdate (ProjectFileCollection projectFiles, CProjectConfiguration configuration, string target)
- {
- if (!File.Exists (target))
- return true;
-
- foreach (string obj in ObjectFiles (projectFiles, configuration, false))
- if (File.GetLastWriteTime (obj) > File.GetLastWriteTime (target))
- return true;
-
- return false;
- }
-
- protected override void ParseCompilerOutput (string errorString, CompilerResults cr)
- {
- TextReader reader = new StringReader (errorString);
- string next;
-
- while ((next = reader.ReadLine ()) != null) {
- CompilerError error = CreateErrorFromErrorString (next, reader);
- if (error != null)
- cr.Errors.Add (error);
- }
-
- reader.Close ();
- }
-
- private static Regex withColRegex = new Regex (
- @"^\s*(?<file>.*):(?<line>\d*):(?<column>\d*):\s*(?<level>.*)\s*:\s(?<message>.*)",
- RegexOptions.Compiled | RegexOptions.ExplicitCapture);
- private static Regex noColRegex = new Regex (
- @"^\s*(?<file>.*):(?<line>\d*):\s*(?<level>.*)\s*:\s(?<message>.*)",
- RegexOptions.Compiled | RegexOptions.ExplicitCapture);
- private static Regex linkerRegex = new Regex (
- @"^\s*(?<file>[^:]*):(?<line>\d*):\s*(?<message>.*)",
- RegexOptions.Compiled | RegexOptions.ExplicitCapture);
-
- private CompilerError CreateErrorFromErrorString (string errorString, TextReader reader)
- {
- CompilerError error = new CompilerError ();
- string warning = GettextCatalog.GetString ("warning");
- string note = GettextCatalog.GetString ("note");
-
- Match match = withColRegex.Match (errorString);
-
- if (match.Success)
- {
- error.FileName = match.Groups["file"].Value;
- error.Line = int.Parse (match.Groups["line"].Value);
- error.Column = int.Parse (match.Groups["column"].Value);
- error.IsWarning = (match.Groups["level"].Value.Equals (warning, StringComparison.Ordinal) ||
- match.Groups["level"].Value.Equals (note, StringComparison.Ordinal));
- error.ErrorText = match.Groups["message"].Value;
-
- return error;
- }
-
- match = noColRegex.Match (errorString);
-
- if (match.Success)
- {
- error.FileName = match.Groups["file"].Value;
- error.Line = int.Parse (match.Groups["line"].Value);
- error.IsWarning = (match.Groups["level"].Value.Equals (warning, StringComparison.Ordinal) ||
- match.Groups["level"].Value.Equals (note, StringComparison.Ordinal));
- error.ErrorText = match.Groups["message"].Value;
-
- // Skip messages that begin with ( and end with ), since they're generic.
- //Attempt to capture multi-line versions too.
- if (error.ErrorText.StartsWith ("(")) {
- string error_continued = error.ErrorText;
- do {
- if (error_continued.EndsWith (")"))
- return null;
- } while ((error_continued = reader.ReadLine ()) != null);
- }
-
- return error;
- }
-
- return null;
- }
-
- protected override void ParseLinkerOutput (string errorString, CompilerResults cr)
- {
- TextReader reader = new StringReader (errorString);
- string next;
-
- while ((next = reader.ReadLine ()) != null) {
- CompilerError error = CreateLinkerErrorFromErrorString (next);
- if (error != null)
- cr.Errors.Insert (0, error);
- }
-
- reader.Close ();
- }
-
- private CompilerError CreateLinkerErrorFromErrorString (string errorString)
- {
- CompilerError error = new CompilerError ();
-
- Match linkerMatch = linkerRegex.Match (errorString);
-
- if (linkerMatch.Success)
- {
- error.FileName = linkerMatch.Groups["file"].Value;
- error.Line = int.Parse (linkerMatch.Groups["line"].Value);
- error.ErrorText = linkerMatch.Groups["message"].Value;
-
- return error;
- }
-
- return null;
- }
-
- // expands backticked portions of the parameter-list using "sh" and "echo"
- // TODO: Do this ourselves, relying on sh/echo - and launching an entire process just for this is ... excessive.
- public string ExpandBacktickedParameters (string tmp)
- {
- // 1) Quadruple \ required, to escape both echo's and sh's escape character filtering
- // 2) \\\" required inside of echo, to translate into \" in sh, so it translates back as a " to MD...
- string parameters = "-c \"echo " + tmp.Replace("\\", "\\\\\\\\").Replace("\"", "\\\\\\\"") + "\"";
-
- var p = Process.Start (new ProcessStartInfo ("sh", parameters) {
- UseShellExecute = false,
- RedirectStandardOutput = true
- });
- p.Start ();
- p.WaitForExit ();
-
- //TODO: use async reads so we don't deadlock if stdout fills up
- //TODO: check return code
- return p.StandardOutput.ReadToEnd ().Trim ();
- }
-
- bool CheckApp (string app)
- {
- try {
- ProcessWrapper p = Runtime.ProcessService.StartProcess (app, "--version", null, null);
- p.WaitForOutput ();
- return true;
- } catch {
- return false;
- }
- }
-
- /// <summary>
- /// Checks a compilation return code,
- /// and adds an error result if the compiler results
- /// show no errors.
- /// </summary>
- /// <param name="returnCode">
- /// A <see cref="System.Int32"/>: A process return code
- /// </param>
- /// <param name="cr">
- /// A <see cref="CompilerResults"/>: The return code from a compilation run
- /// </param>
- void CheckReturnCode (int returnCode, CompilerResults cr)
- {
- cr.NativeCompilerReturnValue = returnCode;
- if (0 != returnCode && 0 == cr.Errors.Count) {
- cr.Errors.Add (new CompilerError (string.Empty, 0, 0, string.Empty,
- GettextCatalog.GetString ("Build failed - check build output for details")));
- }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Compiler/GccCompiler.cs b/main/src/addins/CBinding/Compiler/GccCompiler.cs
deleted file mode 100644
index fb9fb40a81..0000000000
--- a/main/src/addins/CBinding/Compiler/GccCompiler.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// GccCompiler.cs: Provides functionality to compile using gcc
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using Mono.Addins;
-
-
-namespace CBinding
-{
- [Extension ("/CBinding/Compilers")]
- public class GccCompiler : GNUCompiler
- {
- public override string Name {
- get { return "gcc"; }
- }
-
- public override Language Language {
- get { return Language.C; }
- }
-
- public GccCompiler ()
- {
- compilerCommand = "gcc";
- linkerCommand = "gcc";
- }
- }
-}
diff --git a/main/src/addins/CBinding/Compiler/GppCompiler.cs b/main/src/addins/CBinding/Compiler/GppCompiler.cs
deleted file mode 100644
index cdaa66cecb..0000000000
--- a/main/src/addins/CBinding/Compiler/GppCompiler.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// GppCompiler.cs: Provides functionality to compile using g++
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using Mono.Addins;
-
-
-namespace CBinding
-{
- [Extension ("/CBinding/Compilers")]
- public class GppCompiler : GNUCompiler
- {
- public override string Name {
- get { return "g++"; }
- }
-
- public override Language Language {
- get { return Language.CPP; }
- }
-
- public GppCompiler ()
- {
- compilerCommand = "g++";
- linkerCommand = "g++";
- }
- }
-}
diff --git a/main/src/addins/CBinding/Compiler/ICompiler.cs b/main/src/addins/CBinding/Compiler/ICompiler.cs
deleted file mode 100644
index a3b7ad7a0e..0000000000
--- a/main/src/addins/CBinding/Compiler/ICompiler.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// ICompiler.cs: interface that must be implemented by any class that wants
-// to provide a compiler for the CBinding addin.
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using Mono.Addins;
-
-using MonoDevelop.Core;
-using MonoDevelop.Projects;
-
-namespace CBinding
-{
- [TypeExtensionPoint ("/CBinding/Compilers")]
- public interface ICompiler
- {
- string Name {
- get;
- }
-
- Language Language {
- get;
- }
-
- string CompilerCommand {
- get;
- }
-
- bool SupportsCcache {
- get;
- }
-
- bool SupportsPrecompiledHeaders {
- get;
- }
-
- string GetCompilerFlags (Project project, CProjectConfiguration configuration);
-
- string GetDefineFlags (Project project, CProjectConfiguration configuration);
-
- BuildResult Compile (
- Project project,
- ProjectFileCollection projectFiles,
- ProjectPackageCollection packages,
- CProjectConfiguration configuration,
- ProgressMonitor monitor);
-
- void Clean (ProjectFileCollection projectFiles, CProjectConfiguration configuration, ProgressMonitor monitor);
- }
-}
diff --git a/main/src/addins/CBinding/Gui/CTextEditorExtension.cs b/main/src/addins/CBinding/Gui/CTextEditorExtension.cs
deleted file mode 100644
index 4faec18e12..0000000000
--- a/main/src/addins/CBinding/Gui/CTextEditorExtension.cs
+++ /dev/null
@@ -1,806 +0,0 @@
-//
-// CTextEditorExtension.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Collections.Generic;
-
-using MonoDevelop.Core;
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Content;
-using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.Components;
-using MonoDevelop.Components.Commands;
-
-using CBinding.Parser;
-using MonoDevelop.Ide.TypeSystem;
-using ICSharpCode.NRefactory.TypeSystem;
-using ICSharpCode.NRefactory.Completion;
-using MonoDevelop.Ide.Editor;
-using MonoDevelop.Core.Text;
-using MonoDevelop.Ide.Editor.Extension;
-using System.Threading.Tasks;
-using System.Threading;
-
-namespace CBinding
-{
- public class CTextEditorExtension : CompletionTextEditorExtension, IPathedDocument
- {
- // Allowed chars to be next to an identifier
- private static char[] allowedChars = new char[] {
- '.', ':', ' ', '\t', '=', '*', '+', '-', '/', '%', ',', '&',
- '|', '^', '{', '}', '[', ']', '(', ')', '\n', '!', '?', '<', '>'
- };
-
- // Allowed Chars to be next to an identifier excluding ':' (to get the full name in '::' completion).
- private static char[] allowedCharsMinusColon = new char[] {
- '.', ' ', '\t', '=', '*', '+', '-', '/', '%', ',', '&', '|',
- '^', '{', '}', '[', ']', '(', ')', '\n', '!', '?', '<', '>'
- };
-
- /// <summary>
- /// A delegate for getting completion data
- /// </summary>
- private delegate CompletionDataList GetMembersForExtension (CTextEditorExtension self, string completionExtension, string completionText);
-
- /// <summary>
- /// An associative array containing each completion-triggering extension
- /// and its respective callback
- /// </summary>
- private static KeyValuePair<string, GetMembersForExtension>[] completionExtensions = new KeyValuePair<string, GetMembersForExtension>[] {
- new KeyValuePair<string, GetMembersForExtension>("::", GetItemMembers),
- new KeyValuePair<string, GetMembersForExtension>("->", GetInstanceMembers),
- new KeyValuePair<string, GetMembersForExtension>(".", GetInstanceMembers)
- };
-
-
- public override string CompletionLanguage {
- get {
- return "C/C++";
- }
- }
- static bool IsOpenBrace (char c)
- {
- return c == '(' || c == '{' || c == '<' || c == '[';
- }
- static bool IsCloseBrace (char c)
- {
- return c == ')' || c == '}' || c == '>' || c == ']';
- }
-
- static bool IsBrace (char c)
- {
- return IsOpenBrace (c) || IsCloseBrace (c);
- }
-
- static int SearchMatchingBracket (IReadonlyTextDocument editor, int offset, char openBracket, char closingBracket, int direction)
- {
- bool isInString = false;
- bool isInChar = false;
- bool isInBlockComment = false;
- int depth = -1;
- while (offset >= 0 && offset < editor.Length) {
- char ch = editor.GetCharAt (offset);
- switch (ch) {
- case '/':
- if (isInBlockComment)
- isInBlockComment = editor.GetCharAt (offset + direction) != '*';
- if (!isInString && !isInChar && offset - direction < editor.Length)
- isInBlockComment = offset > 0 && editor.GetCharAt (offset - direction) == '*';
- break;
- case '"':
- if (!isInChar && !isInBlockComment)
- isInString = !isInString;
- break;
- case '\'':
- if (!isInString && !isInBlockComment)
- isInChar = !isInChar;
- break;
- default :
- if (ch == closingBracket) {
- if (!(isInString || isInChar || isInBlockComment))
- --depth;
- } else if (ch == openBracket) {
- if (!(isInString || isInChar || isInBlockComment)) {
- ++depth;
- if (depth == 0)
- return offset;
- }
- }
- break;
- }
- offset += direction;
- }
- return -1;
- }
-
- static int GetClosingBraceForLine (IReadonlyTextDocument editor, IDocumentLine line, out int openingLine)
- {
- int offset = SearchMatchingBracket (editor, line.Offset, '{', '}', -1);
- if (offset == -1) {
- openingLine = -1;
- return -1;
- }
-
- openingLine = editor.OffsetToLineNumber (offset);
- return offset;
- }
-
- public override bool KeyPress (KeyDescriptor descriptor)
- {
- var line = Editor.GetLine (Editor.CaretLine);
- string lineText = Editor.GetLineText (Editor.CaretLine);
- int lineCursorIndex = Math.Min (lineText.Length, Editor.CaretColumn);
-
- // Smart Indentation
- if (Editor.Options.IndentStyle == IndentStyle.Smart)
- {
- if (descriptor.KeyChar == '}') {
- // Only indent if the brace is preceeded by whitespace.
- if(AllWhiteSpace(lineText.Substring(0, lineCursorIndex))) {
- int braceOpeningLine;
- if(GetClosingBraceForLine(Editor, line, out braceOpeningLine) >= 0)
- {
- Editor.ReplaceText (line.Offset, line.Length, GetIndent(Editor, braceOpeningLine, 0) + "}" + lineText.Substring(lineCursorIndex));
- return false;
- }
- }
- } else {
- switch(descriptor.SpecialKey)
- {
- case SpecialKey.Return:
- // Calculate additional indentation, if any.
- char finalChar = '\0';
- char nextChar = '\0';
- string indent = String.Empty;
- if (!String.IsNullOrEmpty (Editor.SelectedText)) {
- int cursorPos = Editor.SelectionRange.Offset;
-
- Editor.RemoveText (Editor.SelectionRange);
-
- Editor.CaretOffset = cursorPos;
-
- lineText = Editor.GetLineText (Editor.CaretLine);
- lineCursorIndex = Editor.CaretColumn;
- // System.Console.WriteLine(TextEditorData.Caret.Offset);
- }
- if(lineText.Length > 0)
- {
- if(lineCursorIndex > 0)
- finalChar = lineText[Math.Min(lineCursorIndex, lineText.Length) - 1];
-
- if(lineCursorIndex < lineText.Length)
- nextChar = lineText[lineCursorIndex];
-
- if(finalChar == '{')
- indent = Editor.Options.GetIndentationString ();
- }
-
- // If the next character is an closing brace, indent it appropriately.
- if(IsBrace(nextChar) && !IsOpenBrace(nextChar))
- {
- int openingLine;
- if(GetClosingBraceForLine (Editor, line, out openingLine) >= 0)
- {
- Editor.InsertAtCaret (Editor.EolMarker + GetIndent(Editor, openingLine, 0));
- return false;
- }
- }
-
- // Default indentation method
- Editor.InsertAtCaret (Editor.EolMarker + indent + GetIndent(Editor, Editor.OffsetToLineNumber (line.Offset), lineCursorIndex));
-
- return false;
-
- }
- }
- }
-
- return base.KeyPress (descriptor);
- }
-
- public override Task<ICompletionDataList> HandleCodeCompletionAsync (CodeCompletionContext completionContext, char completionChar, CancellationToken token = default(CancellationToken))
- {
- string lineText = Editor.GetLineText (completionContext.TriggerLine).TrimEnd();
-
- // If the line ends with a matched extension, invoke its handler
- foreach (KeyValuePair<string, GetMembersForExtension> pair in completionExtensions) {
- if (lineText.EndsWith(pair.Key)) {
- lineText = lineText.Substring (0, lineText.Length - pair.Key.Length);
-
- int nameStart = lineText.LastIndexOfAny (allowedCharsMinusColon) + 1;
- string itemName = lineText.Substring (nameStart).Trim ();
-
- if (string.IsNullOrEmpty (itemName))
- return null;
-
- return Task.FromResult ((ICompletionDataList)pair.Value (this, pair.Key, itemName));
- }
- }
-
- if (char.IsLetter (completionChar)) {
- // Aggressive completion
- var list = GlobalComplete ();
- list.TriggerWordLength = ResetTriggerOffset (completionContext);
- return Task.FromResult ((ICompletionDataList)list);
- }
-
- return null;
- }
-
-// public override ICompletionDataList HandleCodeCompletion (
-// CodeCompletionContext completionContext, char completionChar)
-// {
-// int triggerWordLength = 0;
-// return HandleCodeCompletion (completionContext, completionChar, ref triggerWordLength);
-//
-// string lineText = Editor.GetLineText (completionContext.TriggerLine).TrimEnd();
-//
-// // If the line ends with a matched extension, invoke its handler
-// foreach (KeyValuePair<string, GetMembersForExtension> pair in completionExtensions) {
-// if (lineText.EndsWith(pair.Key)) {
-// lineText = lineText.Substring (0, lineText.Length - pair.Key.Length);
-//
-// int nameStart = lineText.LastIndexOfAny (allowedCharsMinusColon) + 1;
-// string itemName = lineText.Substring (nameStart).Trim ();
-//
-// if (string.IsNullOrEmpty (itemName))
-// return null;
-//
-// return pair.Value (this, pair.Key, itemName);
-// }
-// }
-//
-// return null;
-// }
-
- public override Task<ICompletionDataList> CodeCompletionCommand (
- CodeCompletionContext completionContext)
- {
- int pos = completionContext.TriggerOffset;
- string lineText = Editor.GetLineText (Editor.CaretLine).Trim();
-
- foreach (KeyValuePair<string, GetMembersForExtension> pair in completionExtensions) {
- if (lineText.EndsWith(pair.Key))
- return HandleCodeCompletionAsync (completionContext, Editor.GetCharAt (pos));
- }
-
- return Task.FromResult<ICompletionDataList> (GlobalComplete ());
- }
-
- /// <summary>
- /// Gets contained members for a namespace or class
- /// </summary>
- /// <param name="self">
- /// The current CTextEditorExtension
- /// <see cref="CTextEditorExtension"/>
- /// </param>
- /// <param name="completionExtension">
- /// The extension that triggered the completion
- /// (e.g. "::")
- /// <see cref="System.String"/>
- /// </param>
- /// <param name="completionText">
- /// The identifier that triggered the completion
- /// (e.g. "Foo::")
- /// <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// Completion data for the namespace or class
- /// <see cref="CompletionDataList"/>
- /// </returns>
- private static CompletionDataList GetItemMembers (CTextEditorExtension self, string completionExtension, string completionText) {
- return self.GetMembersOfItem (completionText);
- }
-
- /// <summary>
- /// Gets contained members for an instance
- /// </summary>
- /// <param name="self">
- /// The current CTextEditorExtension
- /// <see cref="CTextEditorExtension"/>
- /// </param>
- /// <param name="completionExtension">
- /// The extension that triggered the completion
- /// (e.g. "->")
- /// <see cref="System.String"/>
- /// </param>
- /// <param name="completionText">
- /// The identifier that triggered the completion
- /// (e.g. "blah->")
- /// <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// Completion data for the instance
- /// <see cref="CompletionDataList"/>
- /// </returns>
- private static CompletionDataList GetInstanceMembers (CTextEditorExtension self, string completionExtension, string completionText) {
- return self.GetMembersOfInstance (completionText, ("->" == completionExtension));
- }
-
- private CompletionDataList GetMembersOfItem (string itemFullName)
- {
- CProject project = DocumentContext.Project as CProject;
-
- if (project == null)
- return null;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- CompletionDataList list = new CompletionDataList ();
- list.AutoSelect = false;
-
- LanguageItem container = null;
-
- string currentFileName = DocumentContext.Name;
- bool in_project = false;
-
- foreach (LanguageItem li in info.Containers ()) {
- if (itemFullName == li.FullName) {
- container = li;
- in_project = true;
- }
- }
-
- if (!in_project && info.IncludedFiles.ContainsKey (currentFileName)) {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFileName]) {
- foreach (LanguageItem li in fi.Containers ()) {
- if (itemFullName == li.FullName)
- container = li;
- }
- }
- }
-
- if (container == null)
- return null;
-
- if (in_project) {
- AddItemsWithParent (list, info.AllItems (), container);
- } else {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFileName]) {
- AddItemsWithParent (list, fi.AllItems (), container);
- }
- }
-
- return list;
- }
-
- /// <summary>
- /// Adds completion data for children to a list
- /// </summary>
- /// <param name="list">
- /// The list to which completion data will be added
- /// <see cref="CompletionDataList"/>
- /// </param>
- /// <param name="items">
- /// A list of items to search
- /// <see cref="IEnumerable"/>
- /// </param>
- /// <param name="parent">
- /// The parent that will be matched
- /// </param>
- public static void AddItemsWithParent(CompletionDataList list, IEnumerable<LanguageItem> items, LanguageItem parent) {
- foreach (LanguageItem li in items) {
- if (li.Parent != null && li.Parent.Equals (parent))
- list.Add (new CompletionData (li));
- }
- }
-
-
- /// <summary>
- /// Gets completion data for a given instance
- /// </summary>
- /// <param name="instanceName">
- /// The identifier of the instance
- /// <see cref="System.String"/>
- /// </param>
- /// <param name="isPointer">
- /// Whether the instance in question is a pointer
- /// <see cref="System.Boolean"/>
- /// </param>
- /// <returns>
- /// Completion data for the instance
- /// <see cref="CompletionDataList"/>
- /// </returns>
- private CompletionDataList GetMembersOfInstance (string instanceName, bool isPointer)
- {
- CProject project = DocumentContext.Project as CProject;
-
- if (project == null)
- return null;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- CompletionDataList list = new CompletionDataList ();
- list.AutoSelect = false;
-
- string container = null;
-
- string currentFileName = DocumentContext.Name;
- bool in_project = false;
-
- // Find the typename of the instance
- foreach (Member li in info.Members ) {
- if (instanceName == li.Name && li.IsPointer == isPointer) {
- container = li.InstanceType;
- in_project = true;
- break;
- }
- }
-
- // Search included files
- if (!in_project && info.IncludedFiles.ContainsKey (currentFileName)) {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFileName]) {
- foreach (Member li in fi.Members) {
- if (instanceName == li.Name && li.IsPointer == isPointer) {
- container = li.InstanceType;
- break;
- }
- }
- }
- }
-
- if (null == container) {
- // Search locals
- foreach (Local li in info.Locals ) {
- if (instanceName == li.Name && li.IsPointer == isPointer && currentFileName == li.File) {
- container = li.InstanceType;
- in_project = true;
- break;
- }
- }
- }
-
- // Not found
- if (container == null)
- return null;
-
- // Get the LanguageItem corresponding to the typename
- // and populate completion data accordingly
- if (in_project) {
- AddMembersWithParent (list, info.InstanceMembers (), container);
- } else {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFileName]) {
- AddMembersWithParent (list, fi.InstanceMembers (), container);
- }
- }
-
- return list;
- }
-
- /// <summary>
- /// Adds completion data for children to a list
- /// </summary>
- /// <param name="list">
- /// The list to which completion data will be added
- /// <see cref="CompletionDataList"/>
- /// </param>
- /// <param name="items">
- /// A list of items to search
- /// <see cref="IEnumerable"/>
- /// </param>
- /// <param name="parentName">
- /// The name of the parent that will be matched
- /// <see cref="System.String"/>
- /// </param>
- public static void AddMembersWithParent(CompletionDataList list, IEnumerable<LanguageItem> items, string parentName) {
- foreach (LanguageItem li in items) {
- if (li.Parent != null && li.Parent.Name.EndsWith (parentName))
- list.Add (new CompletionData (li));
- }
- }
-
- private CompletionDataList GlobalComplete ()
- {
- CProject project = DocumentContext.Project as CProject;
-
- if (project == null)
- return null;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
-
- CompletionDataList list = new CompletionDataList ();
- list.AutoSelect = false;
-
- foreach (LanguageItem li in info.Containers ())
- if (li.Parent == null)
- list.Add (new CompletionData (li));
-
- foreach (Function f in info.Functions)
- if (f.Parent == null)
- list.Add (new CompletionData (f));
-
- foreach (Enumerator e in info.Enumerators)
- list.Add (new CompletionData (e));
-
- foreach (Macro m in info.Macros)
- list.Add (new CompletionData (m));
-
- string currentFileName = DocumentContext.Name;
-
- if (info.IncludedFiles.ContainsKey (currentFileName)) {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFileName]) {
- foreach (LanguageItem li in fi.Containers ())
- if (li.Parent == null)
- list.Add (new CompletionData (li));
-
- foreach (Function f in fi.Functions)
- if (f.Parent == null)
- list.Add (new CompletionData (f));
-
- foreach (Enumerator e in fi.Enumerators)
- list.Add (new CompletionData (e));
-
- foreach (Macro m in fi.Macros)
- list.Add (new CompletionData (m));
- }
- }
-
- return list;
- }
-
- public override Task<MonoDevelop.Ide.CodeCompletion.ParameterHintingResult> HandleParameterCompletionAsync (CodeCompletionContext completionContext, char completionChar, CancellationToken token = default(CancellationToken))
- {
- if (completionChar != '(')
- return null;
-
- CProject project = DocumentContext.Project as CProject;
-
- if (project == null)
- return Task.FromResult<MonoDevelop.Ide.CodeCompletion.ParameterHintingResult> (null);
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- string lineText = Editor.GetLineText (Editor.CaretLine).TrimEnd ();
- if (lineText.EndsWith (completionChar.ToString (), StringComparison.Ordinal))
- lineText = lineText.Remove (lineText.Length-1).TrimEnd ();
-
- int nameStart = lineText.LastIndexOfAny (allowedChars);
-
- nameStart++;
-
- string functionName = lineText.Substring (nameStart).Trim ();
-
- if (string.IsNullOrEmpty (functionName))
- return Task.FromResult<MonoDevelop.Ide.CodeCompletion.ParameterHintingResult> (null);
-
- return Task.FromResult ((MonoDevelop.Ide.CodeCompletion.ParameterHintingResult) new ParameterDataProvider (nameStart, Editor, info, functionName));
- }
-
- private bool AllWhiteSpace (string lineText)
- {
- // We will almost definately need a faster method than this
- foreach (char c in lineText)
- if (!char.IsWhiteSpace (c))
- return false;
-
- return true;
- }
-
- // Snatched from DefaultFormattingStrategy
- private string GetIndent (IReadonlyTextDocument d, int lineNumber, int terminateIndex)
- {
- string lineText = d.GetLineText (lineNumber);
- if(terminateIndex > 0)
- lineText = terminateIndex < lineText.Length ? lineText.Substring(0, terminateIndex) : lineText;
-
- StringBuilder whitespaces = new StringBuilder ();
-
- foreach (char ch in lineText) {
- if (!char.IsWhiteSpace (ch))
- break;
- whitespaces.Append (ch);
- }
-
- return whitespaces.ToString ();
- }
-
- [CommandHandler (MonoDevelop.DesignerSupport.Commands.SwitchBetweenRelatedFiles)]
- protected void Run ()
- {
- var cp = this.DocumentContext.Project as CProject;
- if (cp != null) {
- string match = cp.MatchingFile (this.DocumentContext.Name);
- if (match != null)
- MonoDevelop.Ide.IdeApp.Workbench.OpenDocument (match, true);
- }
- }
-
- [CommandUpdateHandler (MonoDevelop.DesignerSupport.Commands.SwitchBetweenRelatedFiles)]
- protected void Update (CommandInfo info)
- {
- var cp = this.DocumentContext.Project as CProject;
- info.Visible = info.Visible = cp != null && cp.MatchingFile (this.DocumentContext.Name) != null;
- }
-
- #region IPathedDocument implementation
-
- public event EventHandler<DocumentPathChangedEventArgs> PathChanged;
-
- public Control CreatePathWidget (int index)
- {
- PathEntry[] path = CurrentPath;
- if (null == path || 0 > index || path.Length <= index) {
- return null;
- }
-
- object tag = path[index].Tag;
- DropDownBoxListWindow.IListDataProvider provider = null;
- if (tag is ParsedDocument) {
- provider = new CompilationUnitDataProvider (Editor, DocumentContext);
- } else {
- // TODO: Roslyn port
- //provider = new DataProvider (Editor, DocumentContext, tag, new NetAmbience ());
- }
-
- DropDownBoxListWindow window = new DropDownBoxListWindow (provider);
- window.SelectItem (tag);
- return window;
- }
-
- public PathEntry[] CurrentPath {
- get;
- private set;
- }
-
- protected virtual void OnPathChanged (DocumentPathChangedEventArgs args)
- {
- if (PathChanged != null)
- PathChanged (this, args);
- }
-
- #endregion
-
- // Yoinked from C# binding
- void UpdatePath (object sender, EventArgs e)
- {
- /* var unit = Document.ParsedDocument;
- if (unit == null)
- return;
-
- var loc = Document.Editor.Caret.Location;
-
- var result = new List<PathEntry> ();
- var amb = GetAmbience ();
- var type = unit.GetInnermostTypeDefinition (loc.Line, loc.Column) ?? unit.TopLevelTypeDefinitions.FirstOrDefault ();
- var curType = type;
- object lastTag = unit;
- while (curType != null) {
- var markup = amb.GetString ((IEntity)curType, OutputFlags.IncludeGenerics | OutputFlags.IncludeParameters | OutputFlags.ReformatDelegates | OutputFlags.IncludeMarkup);
- result.Insert (0, new PathEntry (ImageService.GetPixbuf (type.GetStockIcon (), Gtk.IconSize.Menu), curType.IsObsolete () ? "<s>" + markup + "</s>" : markup) { Tag = lastTag });
- lastTag = curType;
- curType = curType.DeclaringTypeDefinition;
- }
-
- var member = type.Members.FirstOrDefault (m => m.Region.IsInside (loc.Line, loc.Column));
- if (member != null) {
- var ctx = Document.ParsedDocument.ParsedFile.GetTypeResolveContext (Document.Compilation, member.Region.Begin);;
- var markup = amb.GetString (member.CreateResolved (ctx), OutputFlags.IncludeGenerics | OutputFlags.IncludeParameters | OutputFlags.ReformatDelegates | OutputFlags.IncludeMarkup);
- result.Add (new PathEntry (ImageService.GetPixbuf (member.GetStockIcon (), Gtk.IconSize.Menu), member.IsObsolete () ? "<s>" + markup + "</s>" : markup) { Tag = lastTag });
- }
-
- PathEntry noSelection = null;
- if (type == null) {
- noSelection = new PathEntry (GettextCatalog.GetString ("No selection")) { Tag = unit };
- } else if (member == null && type.Kind != TypeKind.Delegate)
- noSelection = new PathEntry (GettextCatalog.GetString ("No selection")) { Tag = type };
- if (noSelection != null)
- result.Add (noSelection);
- var prev = CurrentPath;
- CurrentPath = result.ToArray ();
- OnPathChanged (new DocumentPathChangedEventArgs (prev));*/
- }
-
- protected override void Initialize ()
- {
- base.Initialize ();
- UpdatePath (null, null);
- Editor.CaretPositionChanged += UpdatePath;
- DocumentContext.DocumentParsed += HandleDocumentParsed;
- }
-
- void HandleDocumentParsed (object sender, EventArgs e)
- {
- UpdatePath (null, null);
- }
-
- public override void Dispose ()
- {
- Editor.CaretPositionChanged -= UpdatePath;
- DocumentContext.DocumentParsed -= HandleDocumentParsed;
-
- base.Dispose ();
- }
-
- /// <summary>
- /// Move the completion trigger offset to the beginning of the current token
- /// </summary>
- protected virtual int ResetTriggerOffset (CodeCompletionContext completionContext)
- {
- int i = completionContext.TriggerOffset;
- if (i >= Editor.Length)
- return 0;
- int accumulator = 0;
-
- for (;
- 1 < i && char.IsLetterOrDigit (Editor.GetCharAt (i));
- --i, ++accumulator);
- completionContext.TriggerOffset = i-1;
- return accumulator+1;
- }// ResetTriggerOffset
-
- [CommandHandler (MonoDevelop.Refactoring.RefactoryCommands.GotoDeclaration)]
- public void GotoDeclaration ()
- {
- LanguageItem item = GetLanguageItemAt (Editor.CaretLocation);
- if (item != null)
- IdeApp.Workbench.OpenDocument ((FilePath)item.File, (int)item.Line, 1);
- }
-
- [CommandUpdateHandler (MonoDevelop.Refactoring.RefactoryCommands.GotoDeclaration)]
- public void CanGotoDeclaration (CommandInfo item)
- {
- item.Visible = (GetLanguageItemAt (Editor.CaretLocation) != null);
- item.Bypass = !item.Visible;
- }
-
- private LanguageItem GetLanguageItemAt (DocumentLocation location)
- {
- CProject project = DocumentContext.Project as CProject;
- string token = GetTokenAt (location);
- if (project != null && !string.IsNullOrEmpty (token)) {
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- return info.AllItems ().FirstOrDefault (i => i.Name.Equals (token, StringComparison.Ordinal));
- }
-
- return null;
- }
-
- private string GetTokenAt (DocumentLocation location)
- {
- int lineOffset = location.Column-1;
- string line = Editor.GetLineText (location.Line);
- if (line.Length == 0)
- return "";
- if (lineOffset >= line.Length)
- lineOffset = line.Length - 1;
- int first = line.LastIndexOfAny (allowedChars, lineOffset) + 1;
- int last = line.IndexOfAny (allowedChars, lineOffset);
- if (last < 0) last = line.Length - 1;
- string token = string.Empty;
-
- if (first >= 0 && first < last && last < line.Length) {
- token = line.Substring (first, last-first);
- }
- return token.Trim ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/CodeGenerationPanel.cs b/main/src/addins/CBinding/Gui/CodeGenerationPanel.cs
deleted file mode 100644
index d67cb97309..0000000000
--- a/main/src/addins/CBinding/Gui/CodeGenerationPanel.cs
+++ /dev/null
@@ -1,369 +0,0 @@
-//
-// CodeGenerationPanel.cs: Code generation panel to configure project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Gui.Dialogs;
-using MonoDevelop.Components;
-using MonoDevelop.Ide;
-
-namespace CBinding
-{
- public partial class CodeGenerationPanel : Gtk.Bin
- {
- private CProjectConfiguration configuration;
- private Gtk.ListStore libStore = new Gtk.ListStore (typeof(string));
- private Gtk.ListStore libPathStore = new Gtk.ListStore (typeof(string));
- private Gtk.ListStore includePathStore = new Gtk.ListStore (typeof(string));
-
- static string[,] quickPathInsertMenu = new string[,] {
- {GettextCatalog.GetString ("_Project Directory"), "${ProjectDir}"},
- {GettextCatalog.GetString ("_Root Solution Directory"), "${CombineDir}"},
- };
-
- public CodeGenerationPanel ()
- {
- this.Build ();
-
- Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
-
- libTreeView.Model = libStore;
- libTreeView.HeadersVisible = false;
- libTreeView.AppendColumn ("Library", textRenderer, "text", 0);
-
- libPathTreeView.Model = libPathStore;
- libPathTreeView.HeadersVisible = false;
- libPathTreeView.AppendColumn ("Library", textRenderer, "text", 0);
-
- includePathTreeView.Model = includePathStore;
- includePathTreeView.HeadersVisible = false;
- includePathTreeView.AppendColumn ("Include", textRenderer, "text", 0);
-
- new MenuButtonEntry (libPathEntry, quickInsertLibButton, quickPathInsertMenu);
- new MenuButtonEntry (includePathEntry, quickInsertIncludeButton, quickPathInsertMenu);
- }
-
- public void Load (CProjectConfiguration config)
- {
- configuration = config;
-
- switch (configuration.WarningLevel)
- {
- case WarningLevel.None:
- noWarningRadio.Active = true;
- break;
- case WarningLevel.Normal:
- normalWarningRadio.Active = true;
- break;
- case WarningLevel.All:
- allWarningRadio.Active = true;
- break;
- }
-
- warningsAsErrorsCheckBox.Active = configuration.WarningsAsErrors;
-
- optimizationSpinButton.Value = configuration.OptimizationLevel;
-
- switch (configuration.CompileTarget)
- {
- case CBinding.CompileTarget.Bin:
- targetComboBox.Active = 0;
- break;
- case CBinding.CompileTarget.StaticLibrary:
- targetComboBox.Active = 1;
- break;
- case CBinding.CompileTarget.SharedLibrary:
- targetComboBox.Active = 2;
- break;
- }
-
- extraCompilerTextView.Buffer.Text = configuration.ExtraCompilerArguments;
-
- extraLinkerTextView.Buffer.Text = configuration.ExtraLinkerArguments;
-
- defineSymbolsTextEntry.Text = configuration.DefineSymbols;
-
- libStore.Clear ();
- foreach (string lib in configuration.Libs)
- libStore.AppendValues (lib);
-
- libPathStore.Clear ();
- foreach (string libPath in configuration.LibPaths)
- libPathStore.AppendValues (libPath);
-
- includePathStore.Clear ();
- foreach (string includePath in configuration.Includes)
- includePathStore.AppendValues (includePath);
- }
-
- private void OnIncludePathAdded (object sender, EventArgs e)
- {
- if (includePathEntry.Text.Length > 0) {
- includePathStore.AppendValues (includePathEntry.Text);
- includePathEntry.Text = string.Empty;
- }
- }
-
- private void OnIncludePathRemoved (object sender, EventArgs e)
- {
- Gtk.TreeIter iter;
- includePathTreeView.Selection.GetSelected (out iter);
- includePathStore.Remove (ref iter);
- }
-
- private void OnLibPathAdded (object sender, EventArgs e)
- {
- if (libPathEntry.Text.Length > 0) {
- libPathStore.AppendValues (libPathEntry.Text);
- libPathEntry.Text = string.Empty;
- }
- }
-
- private void OnLibPathRemoved (object sender, EventArgs e)
- {
- Gtk.TreeIter iter;
- libPathTreeView.Selection.GetSelected (out iter);
- libPathStore.Remove (ref iter);
- }
-
- private void OnLibAdded (object sender, EventArgs e)
- {
- if (libAddEntry.Text.Length > 0) {
- libStore.AppendValues (libAddEntry.Text);
- libAddEntry.Text = string.Empty;
- }
- }
-
- private void OnLibRemoved (object sender, EventArgs e)
- {
- Gtk.TreeIter iter;
- libTreeView.Selection.GetSelected (out iter);
- libStore.Remove (ref iter);
- }
-
- // TODO: This is platform specific... the C Binding should have a global list of 'standard' library dirs...
- internal const string DEFAULT_LIB_DIR = "/usr/lib";
- internal const string DEFAULT_INCLUDE_DIR = "/usr/lib";
- internal const string STATIC_LIB_FILTER = "*.a";
- internal const string DYNAMIC_LIB_FILTER = "*.so";
-
- private void OnBrowseButtonClick (object sender, EventArgs e)
- {
- var dialog = new MonoDevelop.Components.SelectFileDialog (GettextCatalog.GetString ("Add Library")) {
- TransientFor = (Gtk.Window) Toplevel,
- CurrentFolder = DEFAULT_LIB_DIR,
- };
-
- dialog.AddFilter (GettextCatalog.GetString ("Static Library"), STATIC_LIB_FILTER);
- dialog.AddFilter (GettextCatalog.GetString ("Dynamic Library"), DYNAMIC_LIB_FILTER);
- dialog.AddAllFilesFilter ();
-
- if (dialog.Run ())
- libAddEntry.Text = dialog.SelectedFile;
- }
-
- private void OnIncludePathBrowseButtonClick (object sender, EventArgs e)
- {
- var dialog = new MonoDevelop.Components.SelectFolderDialog (GettextCatalog.GetString ("Add Path")) {
- TransientFor = (Gtk.Window) Toplevel,
- CurrentFolder = DEFAULT_INCLUDE_DIR,
- };
-
- if (dialog.Run ())
- includePathEntry.Text = dialog.SelectedFile;
- }
-
- private void OnLibPathBrowseButtonClick (object sender, EventArgs e)
- {
- var dialog = new MonoDevelop.Components.SelectFolderDialog (GettextCatalog.GetString ("Add Path")) {
- TransientFor = (Gtk.Window) Toplevel,
- CurrentFolder = DEFAULT_LIB_DIR,
- };
-
- if (dialog.Run ())
- libPathEntry.Text = dialog.SelectedFile;
- }
-
- public bool Store ()
- {
- if (configuration == null)
- return false;
-
- string line;
- Gtk.TreeIter iter;
-
- if (noWarningRadio.Active)
- configuration.WarningLevel = WarningLevel.None;
- else if (normalWarningRadio.Active)
- configuration.WarningLevel = WarningLevel.Normal;
- else
- configuration.WarningLevel = WarningLevel.All;
-
- configuration.WarningsAsErrors = warningsAsErrorsCheckBox.Active;
-
- configuration.OptimizationLevel = (int)optimizationSpinButton.Value;
-
- switch (targetComboBox.ActiveText)
- {
- case "Executable":
- configuration.CompileTarget = CBinding.CompileTarget.Bin;
- break;
- case "Static Library":
- configuration.CompileTarget = CBinding.CompileTarget.StaticLibrary;
- break;
- case "Shared Object":
- configuration.CompileTarget = CBinding.CompileTarget.SharedLibrary;
- break;
- }
-
- configuration.ExtraCompilerArguments = extraCompilerTextView.Buffer.Text;
-
- configuration.ExtraLinkerArguments = extraLinkerTextView.Buffer.Text;
-
- configuration.DefineSymbols = defineSymbolsTextEntry.Text;
-
- libStore.GetIterFirst (out iter);
- configuration.Libs.Clear ();
- while (libStore.IterIsValid (iter)) {
- line = (string)libStore.GetValue (iter, 0);
- configuration.Libs.Add (line);
- libStore.IterNext (ref iter);
- }
-
- libPathStore.GetIterFirst (out iter);
- configuration.LibPaths.Clear ();
- while (libPathStore.IterIsValid (iter)) {
- line = (string)libPathStore.GetValue (iter, 0);
- configuration.LibPaths.Add (line);
- libPathStore.IterNext (ref iter);
- }
-
- includePathStore.GetIterFirst (out iter);
- configuration.Includes.Clear ();
- while (includePathStore.IterIsValid (iter)) {
- line = (string)includePathStore.GetValue (iter, 0);
- configuration.Includes.Add (line);
- includePathStore.IterNext (ref iter);
- }
-
- return true;
- }
-
- protected virtual void OnLibAddEntryChanged (object sender, EventArgs e)
- {
- if (string.IsNullOrEmpty (libAddEntry.Text))
- addLibButton.Sensitive = false;
- else
- addLibButton.Sensitive = true;
- }
-
- protected virtual void OnLibTreeViewCursorChanged (object sender, System.EventArgs e)
- {
- removeLibButton.Sensitive = true;
- }
-
- protected virtual void OnRemoveLibButtonClicked (object sender, System.EventArgs e)
- {
- removeLibButton.Sensitive = false;
- }
-
- protected virtual void OnIncludePathEntryChanged (object sender, System.EventArgs e)
- {
- if (string.IsNullOrEmpty (includePathEntry.Text))
- includePathAddButton.Sensitive = false;
- else
- includePathAddButton.Sensitive = true;
- }
-
- protected virtual void OnLibPathEntryChanged (object sender, System.EventArgs e)
- {
- if (string.IsNullOrEmpty (libPathEntry.Text))
- libPathAddButton.Sensitive = false;
- else
- libPathAddButton.Sensitive = true;
- }
-
- protected virtual void OnIncludePathTreeViewCursorChanged (object sender, System.EventArgs e)
- {
- includePathRemoveButton.Sensitive = true;
- }
-
- protected virtual void OnIncludePathRemoveButtonClicked (object sender, System.EventArgs e)
- {
- includePathRemoveButton.Sensitive = false;
- }
-
- protected virtual void OnLibPathTreeViewCursorChanged (object sender, System.EventArgs e)
- {
- libPathRemoveButton.Sensitive = true;
- }
-
- protected virtual void OnLibPathRemoveButtonClicked (object sender, System.EventArgs e)
- {
- libPathRemoveButton.Sensitive = false;
- }
-
- protected virtual void OnLibAddEntryActivated (object sender, System.EventArgs e)
- {
- OnLibAdded (this, new EventArgs ());
- }
-
- protected virtual void OnIncludePathEntryActivated (object sender, System.EventArgs e)
- {
- OnIncludePathAdded (this, new EventArgs ());
- }
-
- protected virtual void OnLibPathEntryActivated (object sender, System.EventArgs e)
- {
- OnLibPathAdded (this, new EventArgs ());
- }
- }
-
- public class CodeGenerationPanelBinding : MultiConfigItemOptionsPanel
- {
- private CodeGenerationPanel panel;
-
- public override Control CreatePanelWidget ()
- {
- return panel = new CodeGenerationPanel ();
- }
-
- public override void LoadConfigData ()
- {
- panel.Load ((CProjectConfiguration) CurrentConfiguration);
- }
-
- public override void ApplyChanges ()
- {
- panel.Store ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/CompilerPanel.cs b/main/src/addins/CBinding/Gui/CompilerPanel.cs
deleted file mode 100644
index ef7c6a283c..0000000000
--- a/main/src/addins/CBinding/Gui/CompilerPanel.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-//
-// CompilerPanel.cs: Allows the user to select what compiler to use for their project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using Mono.Addins;
-
-using MonoDevelop.Components;
-using MonoDevelop.Ide.Gui.Dialogs;
-using MonoDevelop.Ide;
-
-namespace CBinding
-{
- public partial class CompilerPanel : Gtk.Bin
- {
- private CProject project;
- private object[] compilers;
- private ICompiler active_compiler;
-
- public CompilerPanel (CProject project)
- {
- this.Build ();
-
- this.project = project;
-
- compilers = AddinManager.GetExtensionObjects ("/CBinding/Compilers");
-
- foreach (ICompiler compiler in compilers) {
- compilerComboBox.AppendText (compiler.Name);
- }
-
- int active = 0;
- Gtk.TreeIter iter;
- Gtk.ListStore store = (Gtk.ListStore)compilerComboBox.Model;
- store.GetIterFirst (out iter);
- while (store.IterIsValid (iter)) {
- if ((string)store.GetValue (iter, 0) == project.Compiler.Name) {
- break;
- }
- store.IterNext (ref iter);
- active++;
- }
-
- compilerComboBox.Active = active;
-
- useCcacheCheckBox.Active = ((CProjectConfiguration)project.GetConfiguration (IdeApp.Workspace.ActiveConfiguration)).UseCcache;
-
- Update ();
- }
-
- public void Store ()
- {
- if (project == null)
- return;
-
- if (!active_compiler.Equals (project.Compiler)) {
- project.Compiler = active_compiler;
- project.Language = active_compiler.Language;
- }
-
- // Update use_ccache for all configurations
- foreach (CProjectConfiguration conf in project.Configurations)
- conf.UseCcache = useCcacheCheckBox.Active;
- }
-
- protected virtual void OnCompilerComboBoxChanged (object sender, EventArgs e)
- {
- Update ();
- }
-
- private void Update ()
- {
- foreach (ICompiler compiler in compilers) {
- if (compilerComboBox.ActiveText == compiler.Name) {
- active_compiler = compiler;
- break;
- }
- }
-
- if (active_compiler.SupportsCcache)
- useCcacheCheckBox.Sensitive = true;
- else
- useCcacheCheckBox.Sensitive = false;
- }
- }
-
- public class CompilerPanelBinding : ItemOptionsPanel
- {
- CompilerPanel panel;
-
- public override Control CreatePanelWidget ()
- {
- return panel = new CompilerPanel ((CProject)ConfiguredProject);
- }
-
- public override void ApplyChanges ()
- {
- panel.Store ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/DataProvider.cs b/main/src/addins/CBinding/Gui/DataProvider.cs
deleted file mode 100644
index 38511c93ec..0000000000
--- a/main/src/addins/CBinding/Gui/DataProvider.cs
+++ /dev/null
@@ -1,197 +0,0 @@
-//
-// DataProvider.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.CodeCompletion;
-
-using CBinding.Parser;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Editor;
-
-namespace CBinding
-{
- public class ParameterDataProvider : MonoDevelop.Ide.CodeCompletion.ParameterHintingResult
- {
- private TextEditor editor;
- private List<Function> functions = new List<Function> ();
-
- public ParameterDataProvider (int startOffset, TextEditor editor, ProjectInformation info, string functionName) :base (startOffset)
- {
- this.editor = editor;
-
- foreach (Function f in info.Functions) {
- if (f.Name == functionName) {
- data.Add (new DataWrapper (f));
- }
- }
-
- string currentFile = editor.FileName;
-
- if (info.IncludedFiles.ContainsKey (currentFile)) {
- foreach (CBinding.Parser.FileInformation fi in info.IncludedFiles[currentFile]) {
- foreach (Function f in fi.Functions) {
- if (f.Name == functionName) {
- data.Add (new DataWrapper (f));
- }
- }
- }
- }
- }
-
-
- // Returns the index of the parameter where the cursor is currently positioned.
- // -1 means the cursor is outside the method parameter list
- // 0 means no parameter entered
- // > 0 is the index of the parameter (1-based)
- internal int GetCurrentParameterIndex (ICompletionWidget widget, CodeCompletionContext ctx)
- {
- int cursor = widget.CurrentCodeCompletionContext.TriggerOffset;
- int i = ctx.TriggerOffset;
- if (i < 0 || i >= editor.Length || editor.GetCharAt (i) == ')')
- return -1;
-
- if (i > cursor)
- return -1;
- else if (i == cursor)
- return 0;
-
- int parameterIndex = 1;
-
- while (i++ < cursor) {
- if (i >= widget.TextLength)
- break;
- char ch = widget.GetChar (i);
- if (ch == ',')
- parameterIndex++;
- else if (ch == ')')
- return -1;
- }
-
- return parameterIndex;
- }
-
- // Returns the markup to use to represent the specified method overload
- // in the parameter information window.
- public string GetHeading (int overload, string[] parameterMarkup, int currentParameter)
- {
- Function function = ((DataWrapper)this[overload]).Function;
- string paramTxt = string.Join (", ", parameterMarkup);
-
- int len = function.FullName.LastIndexOf ("::");
- string prename = null;
-
- if (len > 0)
- prename = GLib.Markup.EscapeText (function.FullName.Substring (0, len + 2));
-
- string cons = string.Empty;
-
- if (function.IsConst)
- cons = " const";
-
- return prename + "<b>" + function.Name + "</b>" + " (" + paramTxt + ")" + cons;
- }
-
- public string GetDescription (int overload, int currentParameter)
- {
- return "";
- }
-
- // Returns the text to use to represent the specified parameter
- public string GetParameterDescription (int overload, int paramIndex)
- {
- Function function = ((DataWrapper)this[overload]).Function;
-
- return GLib.Markup.EscapeText (function.Parameters[paramIndex]);
- }
- }
-
- public class CompletionData : MonoDevelop.Ide.CodeCompletion.CompletionData
- {
- private IconId image;
- private string text;
- private string description;
- private string completion_string;
-
- public CompletionData (LanguageItem item)
- {
- if (item is Class)
- image = Stock.Class;
- else if (item is Structure)
- image = Stock.Struct;
- else if (item is Union)
- image = "md-union";
- else if (item is Enumeration)
- image = Stock.Enum;
- else if (item is Enumerator)
- image = Stock.Literal;
- else if (item is Function)
- image = Stock.Method;
- else if (item is Namespace)
- image = Stock.NameSpace;
- else if (item is Typedef)
- image = Stock.Interface;
- else if (item is Member)
- image = Stock.Field;
- else if (item is Variable)
- image = Stock.Field;
- else if (item is Macro)
- image = Stock.Literal;
- else
- image = Stock.Literal;
-
- this.text = item.Name;
- this.completion_string = item.Name;
- this.description = string.Empty;
- }
-
- public override IconId Icon {
- get { return image; }
- }
-
- public override string DisplayText {
- get { return text; }
- }
-
- public override string Description {
- get { return description; }
- }
-
- public override string CompletionText {
- get { return completion_string; }
- }
- }
-
-}
diff --git a/main/src/addins/CBinding/Gui/DataWrapper.cs b/main/src/addins/CBinding/Gui/DataWrapper.cs
deleted file mode 100644
index 628eb5024f..0000000000
--- a/main/src/addins/CBinding/Gui/DataWrapper.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// DataProvider.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.CodeCompletion;
-
-using CBinding.Parser;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Editor;
-using System.Threading.Tasks;
-using System.Threading;
-
-namespace CBinding
-{
- sealed class DataWrapper : ParameterHintingData
- {
- readonly Function f;
-
- public Function Function {
- get {
- return f;
- }
- }
-
- public DataWrapper (Function f) : base(null)
- {
- this.f = f;
- }
-
- public override int ParameterCount {
- get {
- return f.ParameterCount;
- }
- }
-
- public override bool IsParameterListAllowed {
- get {
- return f.IsParameterListAllowed;
- }
- }
-
- public override string GetParameterName (int parameter)
- {
- return f.GetParameterName (parameter);
- }
-
- public override Task<TooltipInformation> CreateTooltipInformation (TextEditor editor, DocumentContext ctx, int currentParameter, bool smartWrap, CancellationToken ctoken)
- {
- return Task.FromResult<TooltipInformation> (null);
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/EditPackagesDialog.cs b/main/src/addins/CBinding/Gui/EditPackagesDialog.cs
deleted file mode 100644
index b43001e1b3..0000000000
--- a/main/src/addins/CBinding/Gui/EditPackagesDialog.cs
+++ /dev/null
@@ -1,569 +0,0 @@
-//
-// EditPackagesDialog.cs: Allows you to add and remove pkg-config packages to the project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Collections.Generic;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide;
-using MonoDevelop.Components;
-
-namespace CBinding
-{
- public partial class EditPackagesDialog : Gtk.Dialog
- {
- private Gtk.ListStore normalPackageListStore = new Gtk.ListStore (typeof(bool), typeof(string), typeof(string));
- private Gtk.ListStore projectPackageListStore = new Gtk.ListStore (typeof(bool), typeof(string), typeof(string));
- private Gtk.ListStore selectedPackageListStore = new Gtk.ListStore (typeof(string), typeof(string));
- private CProject project;
- private ProjectPackageCollection selectedPackages = new ProjectPackageCollection ();
- private List<Package> packagesOfProjects;
- private List<Package> packages = new List<Package> ();
-
- // Column IDs
- const int NormalPackageToggleID = 0;
- const int NormalPackageNameID = 1;
- const int NormalPackageVersionID = 2;
-
- const int ProjectPackageToggleID = 0;
- const int ProjectPackageNameID = 1;
- const int ProjectPackageVersionID = 2;
-
- const int SelectedPackageNameID = 0;
- const int SelectedPackageVersionID = 1;
-
- public EditPackagesDialog(CProject project)
- {
- this.Build();
-
- this.project = project;
-
- selectedPackages.Project = project;
- selectedPackages.AddRange (project.Packages);
-
- Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
-
- CellRendererImage pixbufRenderer = new CellRendererImage ();
- pixbufRenderer.StockId = "md-package";
-
- normalPackageListStore.DefaultSortFunc = NormalPackageCompareNodes;
- projectPackageListStore.DefaultSortFunc = ProjectPackageCompareNodes;
- selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes;
-
- normalPackageListStore.SetSortColumnId (NormalPackageNameID, Gtk.SortType.Ascending);
- projectPackageListStore.SetSortColumnId (ProjectPackageNameID, Gtk.SortType.Ascending);
- selectedPackageListStore.SetSortColumnId (SelectedPackageNameID, Gtk.SortType.Ascending);
-
- normalPackageTreeView.SearchColumn = NormalPackageNameID;
- projectPackageTreeView.SearchColumn = ProjectPackageNameID;
- selectedPackageTreeView.SearchColumn = SelectedPackageNameID;
-
- // <!-- Normal packages -->
-
- Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle ();
- normalPackageToggleRenderer.Activatable = true;
- normalPackageToggleRenderer.Toggled += OnNormalPackageToggled;
- normalPackageToggleRenderer.Xalign = 0;
-
- Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn ();
- normalPackageColumn.Title = "Package";
- normalPackageColumn.PackStart (pixbufRenderer, false);
- normalPackageColumn.PackStart (textRenderer, true);
- normalPackageColumn.AddAttribute (textRenderer, "text", NormalPackageNameID);
-
- normalPackageTreeView.Model = normalPackageListStore;
- normalPackageTreeView.HeadersVisible = true;
- normalPackageTreeView.AppendColumn ("", normalPackageToggleRenderer, "active", NormalPackageToggleID);
- normalPackageTreeView.AppendColumn (normalPackageColumn);
- normalPackageTreeView.AppendColumn ("Version", textRenderer, "text", NormalPackageVersionID);
-
- // <!-- Project packages -->
-
- Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle ();
- projectPackageToggleRenderer.Activatable = true;
- projectPackageToggleRenderer.Toggled += OnProjectPackageToggled;
- projectPackageToggleRenderer.Xalign = 0;
-
- Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn ();
- projectPackageColumn.Title = "Package";
- projectPackageColumn.PackStart (pixbufRenderer, false);
- projectPackageColumn.PackStart (textRenderer, true);
- projectPackageColumn.AddAttribute (textRenderer, "text", ProjectPackageNameID);
-
- projectPackageTreeView.Model = projectPackageListStore;
- projectPackageTreeView.HeadersVisible = true;
- projectPackageTreeView.AppendColumn ("", projectPackageToggleRenderer, "active", ProjectPackageToggleID);
- projectPackageTreeView.AppendColumn (projectPackageColumn);
- projectPackageTreeView.AppendColumn ("Version", textRenderer, "text", ProjectPackageVersionID);
-
-
- // <!-- Selected packages -->
-
- Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn ();
- selectedPackageColumn.Title = "Package";
- selectedPackageColumn.PackStart (pixbufRenderer, false);
- selectedPackageColumn.PackStart (textRenderer, true);
- selectedPackageColumn.AddAttribute (textRenderer, "text", SelectedPackageNameID);
-
- selectedPackageTreeView.Model = selectedPackageListStore;
- selectedPackageTreeView.HeadersVisible = true;
- selectedPackageTreeView.AppendColumn (selectedPackageColumn);
- selectedPackageTreeView.AppendColumn ("Version", textRenderer, "text", SelectedPackageVersionID);
-
- // Fill up the project tree view
- packagesOfProjects = GetPackagesOfProjects (project);
-
- foreach (Package p in packagesOfProjects) {
- if (p.Name == project.Name) continue;
-
- packages.Add (p);
- string version = p.Version;
- bool inProject = selectedPackages.Contains (p);
-
- if (!IsPackageInStore (projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID)) {
- projectPackageListStore.AppendValues (inProject, p.Name, version);
-
- if (inProject)
- selectedPackageListStore.AppendValues (p.Name, version);
- }
- }
-
- // Fill up the normal tree view
- foreach (string dir in ScanDirs ()) {
- if (Directory.Exists (dir)) {
- DirectoryInfo di = new DirectoryInfo (dir);
- FileInfo[] availablePackages = di.GetFiles ("*.pc");
-
- foreach (FileInfo f in availablePackages) {
- if (!IsValidPackage (f.FullName)) {
- continue;
- }
-
- Package package = new Package (f.FullName);
-
- packages.Add (package);
-
- string name = package.Name;
- string version = package.Version;
- bool inProject = selectedPackages.Contains (package);
-
- if (!IsPackageInStore (normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID)) {
- normalPackageListStore.AppendValues (inProject, name, version);
-
- if (inProject)
- selectedPackageListStore.AppendValues (name, version);
- }
- }
- }
- }
- }
-
- private List<Package> GetPackagesOfProjects (Project project)
- {
- List<Package> packages = new List<Package>();
- Package package;
-
- foreach (SolutionFolderItem c in project.ParentFolder.Items) {
- if (null != c && c is CProject) {
- CProject cproj = (CProject)c;
- CProjectConfiguration conf = (CProjectConfiguration)cproj.GetConfiguration (IdeApp.Workspace.ActiveConfiguration);
- if (conf.CompileTarget != CBinding.CompileTarget.Bin) {
- cproj.WriteMDPkgPackage (conf.Selector);
- package = new Package (cproj);
- packages.Add (package);
- }
- }
- }
-
- return packages;
- }
-
- private bool IsPackageInStore (Gtk.ListStore store, string pname, string pversion, int pname_col, int pversion_col)
- {
- Gtk.TreeIter search_iter;
- bool has_elem = store.GetIterFirst (out search_iter);
-
- if (has_elem) {
- while (true) {
- string name = (string)store.GetValue (search_iter, pname_col);
- string version = (string)store.GetValue (search_iter, pversion_col);
-
- if (name == pname && version == pversion)
- return true;
-
- if (!store.IterNext (ref search_iter))
- break;
- }
- }
-
- return false;
- }
-
- private string[] ScanDirs ()
- {
- List<string> dirs = new List<string> ();
- string pkg_var = Environment.GetEnvironmentVariable ("PKG_CONFIG_PATH");
- string[] pkg_paths;
-
- dirs.Add ("/usr/lib/pkgconfig");
- dirs.Add ("/usr/lib64/pkgconfig");
- dirs.Add ("/usr/share/pkgconfig");
- dirs.Add ("/usr/local/lib/pkgconfig");
- dirs.Add ("/usr/local/share/pkgconfig");
- dirs.Add ("/usr/lib/x86_64-linux-gnu/pkgconfig");
-
- if (pkg_var == null) return dirs.ToArray ();
-
- pkg_paths = pkg_var.Split (':');
-
- foreach (string dir in pkg_paths) {
- if (string.IsNullOrEmpty (dir))
- continue;
- string dirPath = System.IO.Path.GetFullPath (dir);
- if (!dirs.Contains (dirPath) && !string.IsNullOrEmpty (dir)) {
- dirs.Add (dir);
- }
- }
-
- return dirs.ToArray ();
- }
-
- private void OnOkButtonClick (object sender, EventArgs e)
- {
- // Use this instead of clear, since clear seems to not update the packages tree
- while (project.Packages.Count > 0) {
- project.Packages.RemoveAt (0);
- }
-
- project.Packages.AddRange (selectedPackages);
-
- Destroy ();
- }
-
- private void OnCancelButtonClick (object sender, EventArgs e)
- {
- Destroy ();
- }
-
- private void OnRemoveButtonClick (object sender, EventArgs e)
- {
- Gtk.TreeIter iter;
-
- selectedPackageTreeView.Selection.GetSelected (out iter);
-
- if (!selectedPackageListStore.IterIsValid (iter)) return;
-
- string package = (string)selectedPackageListStore.GetValue (iter, SelectedPackageNameID);
- bool isProject = false;
-
- foreach (Package p in selectedPackages) {
- if (p.Name == package) {
- isProject = p.IsProject;
- selectedPackages.Remove (p);
- break;
- }
- }
-
- selectedPackageListStore.Remove (ref iter);
-
- if (!isProject) {
- Gtk.TreeIter search_iter;
- bool has_elem = normalPackageListStore.GetIterFirst (out search_iter);
-
- if (has_elem) {
- while (true) {
- string current = (string)normalPackageListStore.GetValue (search_iter, NormalPackageNameID);
-
- if (current.Equals (package)) {
- normalPackageListStore.SetValue (search_iter, NormalPackageToggleID, false);
- break;
- }
-
- if (!normalPackageListStore.IterNext (ref search_iter))
- break;
- }
- }
- } else {
- Gtk.TreeIter search_iter;
- bool has_elem = projectPackageListStore.GetIterFirst (out search_iter);
-
- if (has_elem) {
- while (true) {
- string current = (string)projectPackageListStore.GetValue (search_iter, ProjectPackageNameID);
-
- if (current.Equals (package)) {
- projectPackageListStore.SetValue (search_iter, ProjectPackageToggleID, false);
- break;
- }
-
- if (!projectPackageListStore.IterNext (ref search_iter))
- break;
- }
- }
- }
- }
-
- private void OnNormalPackageToggled (object sender, Gtk.ToggledArgs args)
- {
- Gtk.TreeIter iter;
- bool old = true;
- string name;
- string version;
-
- if (normalPackageListStore.GetIter (out iter, new Gtk.TreePath (args.Path))) {
- old = (bool)normalPackageListStore.GetValue (iter, NormalPackageToggleID);
- normalPackageListStore.SetValue (iter, NormalPackageToggleID, !old);
- }
-
- name = (string)normalPackageListStore.GetValue (iter, NormalPackageNameID);
- version = (string)normalPackageListStore.GetValue(iter, NormalPackageVersionID);
-
- if (old == false) {
- selectedPackageListStore.AppendValues (name, version);
-
- foreach (Package package in packages) {
- if (package.Name == name && package.Version == version) {
- selectedPackages.Add (package);
- break;
- }
- }
-
- } else {
- Gtk.TreeIter search_iter;
- bool has_elem = selectedPackageListStore.GetIterFirst (out search_iter);
-
- if (has_elem) {
- while (true) {
- string current = (string)selectedPackageListStore.GetValue (search_iter, SelectedPackageNameID);
-
- if (current.Equals (name)) {
- selectedPackageListStore.Remove (ref search_iter);
- foreach (Package p in selectedPackages) {
- if (p.Name == name) {
- selectedPackages.Remove (p);
- break;
- }
- }
-
- break;
- }
-
- if (!selectedPackageListStore.IterNext (ref search_iter))
- break;
- }
- }
- }
- }
-
- private void OnProjectPackageToggled (object sender, Gtk.ToggledArgs args)
- {
- Gtk.TreeIter iter;
- bool old = true;
- string name;
- string version;
-
- if (projectPackageListStore.GetIter (out iter, new Gtk.TreePath (args.Path))) {
- old = (bool)projectPackageListStore.GetValue (iter, ProjectPackageToggleID);
- projectPackageListStore.SetValue (iter, ProjectPackageToggleID, !old);
- }
-
- name = (string)projectPackageListStore.GetValue (iter, ProjectPackageNameID);
- version = (string)projectPackageListStore.GetValue(iter, ProjectPackageVersionID);
-
- if (old == false) {
- selectedPackageListStore.AppendValues (name, version);
-
- foreach (Package p in packagesOfProjects) {
- if (p.Name == name) {
- selectedPackages.Add (p);
- break;
- }
- }
- } else {
- Gtk.TreeIter search_iter;
- bool has_elem = selectedPackageListStore.GetIterFirst (out search_iter);
-
- if (has_elem)
- {
- while (true) {
- string current = (string)selectedPackageListStore.GetValue (search_iter, SelectedPackageNameID);
-
- if (current.Equals (name)) {
- selectedPackageListStore.Remove (ref search_iter);
- foreach (Package p in selectedPackages) {
- if (p.Name == name) {
- selectedPackages.Remove (p);
- break;
- }
- }
-
- break;
- }
-
- if (!selectedPackageListStore.IterNext (ref search_iter))
- break;
- }
- }
- }
- }
-
- private bool IsValidPackage (string package)
- {
- bool valid = false;
- try {
- using (StreamReader reader = new StreamReader (package)) {
- string line;
-
- while ((line = reader.ReadLine ()) != null) {
- if (line.StartsWith ("Libs:", true, null) && line.Contains (" -l")) {
- valid = true;
- break;
- }
- }
- }
- } catch {
- // Invalid file, permission error, broken symlink
- }
-
- return valid;
- }
-
- int NormalPackageCompareNodes (Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b)
- {
- string name1 = (string)model.GetValue (a, NormalPackageNameID);
- string name2 = (string)model.GetValue (b, NormalPackageNameID);
- return string.Compare (name1, name2, true);
- }
-
- int ProjectPackageCompareNodes (Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b)
- {
- string name1 = (string)model.GetValue (a, ProjectPackageNameID);
- string name2 = (string)model.GetValue (b, ProjectPackageNameID);
- return string.Compare (name1, name2, true);
- }
-
- int SelectedPackageCompareNodes (Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b)
- {
- string name1 = (string)model.GetValue (a, SelectedPackageNameID);
- string name2 = (string)model.GetValue (b, SelectedPackageNameID);
- return string.Compare (name1, name2, true);
- }
-
- protected virtual void OnSelectedPackagesTreeViewCursorChanged (object sender, System.EventArgs e)
- {
- removeButton.Sensitive = true;
- }
-
- protected virtual void OnRemoveButtonClicked (object sender, System.EventArgs e)
- {
- removeButton.Sensitive = false;
- }
-
- protected virtual void OnDetailsButtonClicked (object sender, System.EventArgs e)
- {
- Gtk.TreeIter iter;
- Gtk.Widget active_tab = notebook1.Children [notebook1.Page];
- string tab_label = notebook1.GetTabLabelText (active_tab);
- string name = string.Empty;
- string version = string.Empty;
- Package package = null;
-
- if (tab_label == "System Packages") {
- normalPackageTreeView.Selection.GetSelected (out iter);
- name = (string)normalPackageListStore.GetValue (iter, NormalPackageNameID);
- version = (string)normalPackageListStore.GetValue (iter, NormalPackageVersionID);
- } else if (tab_label == "Project Packages") {
- projectPackageTreeView.Selection.GetSelected (out iter);
- name = (string)projectPackageListStore.GetValue (iter, ProjectPackageNameID);
- version = (string)projectPackageListStore.GetValue (iter, ProjectPackageVersionID);
- } else {
- return;
- }
-
- foreach (Package p in packages) {
- if (p.Name == name && p.Version == version) {
- package = p;
- break;
- }
- }
-
- if (package == null)
- return;
-
- PackageDetails details = new PackageDetails (package);
- details.Modal = true;
- details.Show ();
- }
-
- protected virtual void OnNonSelectedPackageCursorChanged (object o, EventArgs e)
- {
- Gtk.TreeIter iter;
- Gtk.Widget active_tab = notebook1.Children [notebook1.Page];
- Gtk.Widget active_label = notebook1.GetTabLabel (active_tab);
-
- bool sensitive = false;
-
- if (active_label == this.labelSystemPackages) {
- normalPackageTreeView.Selection.GetSelected (out iter);
- if (normalPackageListStore.IterIsValid (iter))
- sensitive = true;
- } else if (active_label == this.labelProjectPackages) {
- projectPackageTreeView.Selection.GetSelected (out iter);
- if (projectPackageListStore.IterIsValid (iter))
- sensitive = true;
- } else {
- return;
- }
-
- detailsButton.Sensitive = sensitive;
- }
-
- protected virtual void OnNotebook1SwitchPage (object o, Gtk.SwitchPageArgs args)
- {
- Gtk.TreeIter iter;
- Gtk.Widget active_tab = notebook1.Children [notebook1.Page];
-
- switch(notebook1.GetTabLabelText (active_tab))
- {
- case "System Packages":
- normalPackageTreeView.Selection.GetSelected (out iter);
- detailsButton.Sensitive = normalPackageListStore.IterIsValid (iter);
- break;
-
- case "Project Packages":
- projectPackageTreeView.Selection.GetSelected (out iter);
- detailsButton.Sensitive = projectPackageListStore.IterIsValid (iter);
- break;
- }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/GeneralOptionsPanel.cs b/main/src/addins/CBinding/Gui/GeneralOptionsPanel.cs
deleted file mode 100644
index 2547577a97..0000000000
--- a/main/src/addins/CBinding/Gui/GeneralOptionsPanel.cs
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// GeneralOptionsPanel.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-
-using Mono.Addins;
-
-using MonoDevelop.Components;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Gui.Dialogs;
-using MonoDevelop.Components;
-
-namespace CBinding
-{
- [System.ComponentModel.Category("MonoDevelop.CBinding")]
- [System.ComponentModel.ToolboxItem(true)]
- public partial class GeneralOptionsPanel : Gtk.Bin
- {
- ICompiler default_c_compiler;
- List<ICompiler> c_compilers = new List<ICompiler> ();
-
- ICompiler default_cpp_compiler;
- List<ICompiler> cpp_compilers = new List<ICompiler> ();
-
- public GeneralOptionsPanel ()
- {
- this.Build ();
-
- object[] compilers = AddinManager.GetExtensionObjects ("/CBinding/Compilers");
-
- foreach (ICompiler compiler in compilers) {
- if (compiler.Language == Language.C) {
- c_compilers.Add (compiler);
- } else if (compiler.Language == Language.CPP) {
- cpp_compilers.Add (compiler);
- }
- }
-
- foreach (ICompiler compiler in c_compilers)
- cCombo.AppendText (compiler.Name);
-
- foreach (ICompiler compiler in cpp_compilers)
- cppCombo.AppendText (compiler.Name);
-
- string c_compiler = PropertyService.Get<string> ("CBinding.DefaultCCompiler", new GccCompiler ().Name);
- string cpp_compiler = PropertyService.Get<string> ("CBinding.DefaultCppCompiler", new GppCompiler ().Name);
- ctagsEntry.Text = PropertyService.Get<string> ("CBinding.CTagsExecutable", "ctags");
- parseSystemTagsCheck.Active = PropertyService.Get<bool> ("CBinding.ParseSystemTags", true);
- parseLocalVariablesCheck.Active = PropertyService.Get<bool> ("CBinding.ParseLocalVariables", false);
-
- foreach (ICompiler compiler in c_compilers) {
- if (compiler.Name == c_compiler) {
- default_c_compiler = compiler;
- }
- }
-
- if (default_c_compiler == null)
- default_c_compiler = new GccCompiler ();
-
- foreach (ICompiler compiler in cpp_compilers) {
- if (compiler.Name == cpp_compiler) {
- default_cpp_compiler = compiler;
- }
- }
-
- if (default_cpp_compiler == null)
- default_cpp_compiler = new GppCompiler ();
-
- int active;
- Gtk.TreeIter iter;
- Gtk.ListStore store;
-
- active = 0;
- store = (Gtk.ListStore)cCombo.Model;
- store.GetIterFirst (out iter);
-
- while (store.IterIsValid (iter)) {
- if ((string)store.GetValue (iter, 0) == default_c_compiler.Name) {
- break;
- }
- store.IterNext (ref iter);
- active++;
- }
-
- cCombo.Active = active;
-
- active = 0;
- store = (Gtk.ListStore)cppCombo.Model;
- store.GetIterFirst (out iter);
-
- while (store.IterIsValid (iter)) {
- if ((string)store.GetValue (iter, 0) == default_cpp_compiler.Name) {
- break;
- }
- store.IterNext (ref iter);
- active++;
- }
-
- cppCombo.Active = active;
- }
-
- public bool Store ()
- {
- PropertyService.Set ("CBinding.DefaultCCompiler", default_c_compiler.Name);
- PropertyService.Set ("CBinding.DefaultCppCompiler", default_cpp_compiler.Name);
- PropertyService.Set ("CBinding.CTagsExecutable", ctagsEntry.Text.Trim ());
- PropertyService.Set ("CBinding.ParseSystemTags", parseSystemTagsCheck.Active);
- PropertyService.Set ("CBinding.ParseLocalVariables", parseLocalVariablesCheck.Active);
- PropertyService.SaveProperties ();
- try {
- // Flush cached system tags, which are ctags-version-specific
- System.IO.Directory.Delete (Parser.CTagsManager.SystemTagsDirectory);
- System.IO.Directory.CreateDirectory (Parser.CTagsManager.SystemTagsDirectory);
- } catch {
- }
- return true;
- }
-
- protected virtual void OnCComboChanged (object sender, System.EventArgs e)
- {
- string activeCompiler = cCombo.ActiveText;
-
- foreach (ICompiler compiler in c_compilers) {
- if (compiler.Name == activeCompiler) {
- default_c_compiler = compiler;
- }
- }
-
- if (default_c_compiler == null)
- default_c_compiler = new GccCompiler ();
- }
-
- protected virtual void OnCppComboChanged (object sender, System.EventArgs e)
- {
- string activeCompiler = cppCombo.ActiveText;
-
- foreach (ICompiler compiler in cpp_compilers) {
- if (compiler.Name == activeCompiler) {
- default_cpp_compiler = compiler;
- }
- }
-
- if (default_cpp_compiler == null)
- default_cpp_compiler = new GppCompiler ();
- }
-
- protected virtual void OnCtagsBrowseClicked (object sender, System.EventArgs e)
- {
- OpenFileDialog dialog = new OpenFileDialog (GettextCatalog.GetString ("Choose ctags executable"), FileChooserAction.Open);
- if (dialog.Run ())
- ctagsEntry.Text = dialog.SelectedFile;
- }
- }
-
- public class GeneralOptionsPanelBinding : OptionsPanel
- {
- private GeneralOptionsPanel panel;
-
- public override Control CreatePanelWidget ()
- {
- panel = new GeneralOptionsPanel ();
- return panel;
- }
-
- public override void ApplyChanges ()
- {
- panel.Store ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/OutputOptionsPanel.cs b/main/src/addins/CBinding/Gui/OutputOptionsPanel.cs
deleted file mode 100644
index f90f629a30..0000000000
--- a/main/src/addins/CBinding/Gui/OutputOptionsPanel.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-//
-// OutputOptionsPanel.cs: configure output options
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Components;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Projects;
-using MonoDevelop.Ide.Gui.Dialogs;
-
-namespace CBinding
-{
- public partial class OutputOptionsPanel : Gtk.Bin
- {
- private CProjectConfiguration configuration;
-
- public OutputOptionsPanel ()
- {
- this.Build ();
- table1.RowSpacing = 3;
- }
-
- public void Load (CProjectConfiguration configuration)
- {
- this.configuration = configuration;
-
- outputNameTextEntry.Text = configuration.Output;
- outputEntry.Path = configuration.OutputDirectory;
- parametersTextEntry.Text = configuration.CommandLineParameters;
-
- if (externalConsoleCheckbox.Active)
- pauseCheckbox.Sensitive = true;
-
- externalConsoleCheckbox.Active = configuration.ExternalConsole;
- pauseCheckbox.Active = configuration.PauseConsoleOutput;
- }
-
- public void Store ()
- {
- if (configuration == null)
- return;
-
- if (outputNameTextEntry != null && outputNameTextEntry.Text.Length > 0)
- configuration.Output = outputNameTextEntry.Text.Trim ();
-
- var newPath = outputEntry.Path.Trim ();
- if (!string.IsNullOrEmpty (newPath))
- configuration.OutputDirectory = newPath;
-
- if (parametersTextEntry.Text != null && parametersTextEntry.Text.Length > 0)
- configuration.CommandLineParameters = parametersTextEntry.Text.Trim ();
-
- configuration.ExternalConsole = externalConsoleCheckbox.Active;
- configuration.PauseConsoleOutput = pauseCheckbox.Active;
- }
-
- protected virtual void OnExternalConsoleCheckboxClicked (object sender, System.EventArgs e)
- {
- pauseCheckbox.Sensitive = externalConsoleCheckbox.Active;
- }
- }
-
- public class OutputOptionsPanelBinding : MultiConfigItemOptionsPanel
- {
- private OutputOptionsPanel panel;
-
- public override Control CreatePanelWidget ()
- {
- return panel = new OutputOptionsPanel ();
- }
-
- public override void LoadConfigData ()
- {
- panel.Load ((CProjectConfiguration) CurrentConfiguration);
- }
-
- public override void ApplyChanges ()
- {
- panel.Store ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Gui/PackageDetails.cs b/main/src/addins/CBinding/Gui/PackageDetails.cs
deleted file mode 100644
index c35b7f8b62..0000000000
--- a/main/src/addins/CBinding/Gui/PackageDetails.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// PackageDetails.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-namespace CBinding
-{
- public partial class PackageDetails : Gtk.Dialog
- {
- Gtk.ListStore requiresStore = new Gtk.ListStore (typeof(string));
- Gtk.ListStore libPathsStore = new Gtk.ListStore (typeof(string));
- Gtk.ListStore libsStore = new Gtk.ListStore (typeof(string));
- Gtk.ListStore cflagsStore = new Gtk.ListStore (typeof(string));
-
- public PackageDetails (Package package)
- {
- this.Build();
-
- package.ParsePackage ();
-
- Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
-
- requiresTreeView.Model = requiresStore;
- requiresTreeView.AppendColumn ("Requires", textRenderer, "text", 0);
- requiresTreeView.HeadersVisible = false;
-
- libPathsTreeView.Model = libPathsStore;
- libPathsTreeView.AppendColumn ("LibPaths", textRenderer, "text", 0);
- libPathsTreeView.HeadersVisible = false;
-
- libsTreeView.Model = libsStore;
- libsTreeView.AppendColumn ("Libs", textRenderer, "text", 0);
- libsTreeView.HeadersVisible = false;
-
- cflagsTreeView.Model = cflagsStore;
- cflagsTreeView.AppendColumn ("CFlags", textRenderer, "text", 0);
- cflagsTreeView.HeadersVisible = false;
-
- nameLabel.Text = package.Name;
- descriptionLabel.Text = package.Description;
- versionLabel.Text = package.Version;
-
- foreach (string req in package.Requires)
- requiresStore.AppendValues (req);
-
- foreach (string libpath in package.LibPaths)
- libPathsStore.AppendValues (libpath);
-
- foreach (string lib in package.Libs)
- libsStore.AppendValues (lib);
-
- foreach (string cflag in package.CFlags)
- cflagsStore.AppendValues (cflag);
- }
-
- protected virtual void OnButtonOkClicked (object sender, System.EventArgs e)
- {
- Destroy ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Makefile.am b/main/src/addins/CBinding/Makefile.am
deleted file mode 100644
index c9cc87438f..0000000000
--- a/main/src/addins/CBinding/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-include $(top_srcdir)/xbuild.include
diff --git a/main/src/addins/CBinding/Navigation/ClassNodeBuilder.cs b/main/src/addins/CBinding/Navigation/ClassNodeBuilder.cs
deleted file mode 100644
index 157ad64978..0000000000
--- a/main/src/addins/CBinding/Navigation/ClassNodeBuilder.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-//
-// FunctionNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class ClassNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Class); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Class)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Class c = (Class)dataObject;
-
- nodeInfo.Label = c.Name;
-
- switch (c.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Class);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedClass);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateClass);
- break;
- }
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- bool publicOnly = treeBuilder.Options["PublicApiOnly"];
- Class thisClass = (Class)dataObject;
-
- // Classes
- foreach (Class c in info.Classes)
- if (c.Parent != null && c.Parent.Equals (thisClass) && (!publicOnly || c.Access == AccessModifier.Public))
- treeBuilder.AddChild (c);
-
- // Structures
- foreach (Structure s in info.Structures)
- if (s.Parent != null && s.Parent.Equals (thisClass) && (!publicOnly || s.Access == AccessModifier.Public))
- treeBuilder.AddChild (s);
-
- // Unions
- foreach (Union u in info.Unions)
- if (u.Parent != null && u.Parent.Equals (thisClass) && (!publicOnly || u.Access == AccessModifier.Public))
- treeBuilder.AddChild (u);
-
- // Enumerations
- foreach (Enumeration e in info.Enumerations)
- if (e.Parent != null && e.Parent.Equals (thisClass) && (!publicOnly || e.Access == AccessModifier.Public))
- treeBuilder.AddChild (e);
-
- // Typedefs
- foreach (Typedef t in info.Typedefs)
- if (t.Parent != null && t.Parent.Equals (thisClass) && (!publicOnly || t.Access == AccessModifier.Public))
- treeBuilder.AddChild (t);
-
- // Functions
- foreach (Function f in info.Functions)
- if (f.Parent != null && f.Parent.Equals (thisClass) && (!publicOnly || f.Access == AccessModifier.Public))
- treeBuilder.AddChild (f);
-
- // Members
- foreach (Member m in info.Members)
- if (m.Parent != null && m.Parent.Equals (thisClass) && (!publicOnly || m.Access == AccessModifier.Public))
- treeBuilder.AddChild (m);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/ClassPadEventArgs.cs b/main/src/addins/CBinding/Navigation/ClassPadEventArgs.cs
deleted file mode 100644
index f878c2c69d..0000000000
--- a/main/src/addins/CBinding/Navigation/ClassPadEventArgs.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// ClassPadEventHandler.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Navigation
-{
- public delegate void ClassPadEventHandler (ClassPadEventArgs e);
-
- public class ClassPadEventArgs : EventArgs
- {
- private Project project;
-
- public ClassPadEventArgs (Project project)
- {
- this.project = project;
- }
-
- public Project Project {
- get { return project; }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/EnumerationNodeBuilder.cs b/main/src/addins/CBinding/Navigation/EnumerationNodeBuilder.cs
deleted file mode 100644
index 65836cea2f..0000000000
--- a/main/src/addins/CBinding/Navigation/EnumerationNodeBuilder.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// EnumerationNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class EnumerationNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Enumeration); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Enumeration)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Enumeration e = (Enumeration)dataObject;
-
- nodeInfo.Label = e.Name;
-
- switch (e.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Enum);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedEnum);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateEnum);
- break;
- }
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- Enumeration thisEnumeration = (Enumeration)dataObject;
-
- // Enumerators
- foreach (Enumerator e in info.Enumerators)
- if (e.Parent != null && e.Parent.Equals (thisEnumeration))
- treeBuilder.AddChild (e);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Structure)
- return 1;
- else
- return -1;
- }
- }
-}
-
diff --git a/main/src/addins/CBinding/Navigation/EnumeratorNodeBuilder.cs b/main/src/addins/CBinding/Navigation/EnumeratorNodeBuilder.cs
deleted file mode 100644
index 697d405feb..0000000000
--- a/main/src/addins/CBinding/Navigation/EnumeratorNodeBuilder.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// EnumeratorNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class EnumeratorNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Enumerator); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Enumerator)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Enumerator e = (Enumerator)dataObject;
-
- nodeInfo.Label = e.Name;
- nodeInfo.Icon = Context.GetIcon (Stock.Literal);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- return DefaultSort;
- }
- }
-} \ No newline at end of file
diff --git a/main/src/addins/CBinding/Navigation/FunctionNodeBuilder.cs b/main/src/addins/CBinding/Navigation/FunctionNodeBuilder.cs
deleted file mode 100644
index a19d24cd50..0000000000
--- a/main/src/addins/CBinding/Navigation/FunctionNodeBuilder.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-//
-// FunctionNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class FunctionNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Function); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Function)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Function f = (Function)dataObject;
-
- nodeInfo.Label = f.Name;
-
- switch (f.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Method);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedMethod);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateMethod);
- break;
- }
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Typedef)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/GlobalsNodeBuilder.cs b/main/src/addins/CBinding/Navigation/GlobalsNodeBuilder.cs
deleted file mode 100644
index 4b74bea219..0000000000
--- a/main/src/addins/CBinding/Navigation/GlobalsNodeBuilder.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-// GlobalsNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class Globals
- {
- private Project project;
-
- public Globals (Project project)
- {
- this.project = project;
- }
-
- public Project Project {
- get { return project; }
- }
- }
-
- public class GlobalsNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Globals); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return "Globals";
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- nodeInfo.Label = "Globals";
- nodeInfo.Icon = Context.GetIcon (Stock.OpenFolder);
- nodeInfo.ClosedIcon = Context.GetIcon (Stock.ClosedFolder);
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- // Classes
- foreach (Class c in info.Classes)
- if (c.Parent == null)
- treeBuilder.AddChild (c);
-
- // Structures
- foreach (Structure s in info.Structures)
- if (s.Parent == null)
- treeBuilder.AddChild (s);
-
- // Unions
- foreach (Union u in info.Unions)
- if (u.Parent == null)
- treeBuilder.AddChild (u);
-
- // Enumerations
- foreach (Enumeration e in info.Enumerations)
- if (e.Parent == null)
- treeBuilder.AddChild (e);
-
- // Typedefs
- foreach (Typedef t in info.Typedefs)
- if (t.Parent == null)
- treeBuilder.AddChild (t);
-
- // Functions
- foreach (Function f in info.Functions)
- if (f.Parent == null)
- treeBuilder.AddChild (f);
-
- // Variables
- foreach (Variable v in info.Variables)
- treeBuilder.AddChild (v);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Structure)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/LanguageItemCommandHandler.cs b/main/src/addins/CBinding/Navigation/LanguageItemCommandHandler.cs
deleted file mode 100644
index f2a98b2ccd..0000000000
--- a/main/src/addins/CBinding/Navigation/LanguageItemCommandHandler.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// FunctionNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Components;
-using CBinding.Parser;
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.Editor;
-
-namespace CBinding.Navigation
-{
- public class LanguageItemCommandHandler : NodeCommandHandler
- {
- public override async void ActivateItem ()
- {
- LanguageItem item = (LanguageItem)CurrentNode.DataItem;
- Document doc = await IdeApp.Workbench.OpenDocument (item.File);
- //bool isMacro = item is Macro;
-
- doc.Editor.CaretLocation = new DocumentLocation ((int)item.Line, 1); // TODO: get column?
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/LanguageItemEventArgs.cs b/main/src/addins/CBinding/Navigation/LanguageItemEventArgs.cs
deleted file mode 100644
index 52733c5268..0000000000
--- a/main/src/addins/CBinding/Navigation/LanguageItemEventArgs.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// LanguageItemEventArgs.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public delegate void LanguageItemEventHandler (object sender, LanguageItemEventArgs e);
-
- public class LanguageItemEventArgs : EventArgs
- {
- LanguageItem item;
-
- public LanguageItemEventArgs (LanguageItem item)
- {
- this.item = item;
- }
-
- public LanguageItem Item {
- get { return item; }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/MacroDefinitionsNodeBuilder.cs b/main/src/addins/CBinding/Navigation/MacroDefinitionsNodeBuilder.cs
deleted file mode 100644
index 458ae14ced..0000000000
--- a/main/src/addins/CBinding/Navigation/MacroDefinitionsNodeBuilder.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-//
-// MacroDefinitionsNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class MacroDefinitions
- {
- private Project project;
-
- public MacroDefinitions (Project project)
- {
- this.project = project;
- }
-
- public Project Project {
- get { return project; }
- }
- }
-
- public class MacroDefinitionsNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(MacroDefinitions); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return "Macro Definitions";
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- nodeInfo.Label = "Macro Definitions";
- nodeInfo.Icon = Context.GetIcon (Stock.OpenFolder);
- nodeInfo.ClosedIcon = Context.GetIcon (Stock.ClosedFolder);
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- foreach (Macro m in info.Macros)
- treeBuilder.AddChild (m);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Globals)
- return 1;
- else
- return -1;
- }
- }
-} \ No newline at end of file
diff --git a/main/src/addins/CBinding/Navigation/MacroNodeBuilder.cs b/main/src/addins/CBinding/Navigation/MacroNodeBuilder.cs
deleted file mode 100644
index 7dcf065320..0000000000
--- a/main/src/addins/CBinding/Navigation/MacroNodeBuilder.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// MacroNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class MacroNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Macro); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Macro)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Macro m = (Macro)dataObject;
-
- nodeInfo.Label = m.Name;
- nodeInfo.Icon = Context.GetIcon (Stock.Literal);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/main/src/addins/CBinding/Navigation/MemberNodeBuilder.cs b/main/src/addins/CBinding/Navigation/MemberNodeBuilder.cs
deleted file mode 100644
index 51821b2408..0000000000
--- a/main/src/addins/CBinding/Navigation/MemberNodeBuilder.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// FunctionNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class MemberNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Member); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Member)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Member m = (Member)dataObject;
-
- nodeInfo.Label = m.Name;
-
- switch (m.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Field);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedField);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateField);
- break;
- }
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- return 1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/NamespaceNodeBuilder.cs b/main/src/addins/CBinding/Navigation/NamespaceNodeBuilder.cs
deleted file mode 100644
index 2086a910f1..0000000000
--- a/main/src/addins/CBinding/Navigation/NamespaceNodeBuilder.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-// NamespaceNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class NamespaceNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Namespace); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof (LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- if (thisNode.Options["NestedNamespaces"])
- return ((Namespace)dataObject).Name;
- else
- return ((Namespace)dataObject).FullName;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- if (treeBuilder.Options["NestedNamespaces"])
- nodeInfo.Label = ((Namespace)dataObject).Name;
- else
- nodeInfo.Label = ((Namespace)dataObject).FullName;
-
- nodeInfo.Icon = Context.GetIcon (Stock.NameSpace);
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- Namespace thisNamespace = ((Namespace)dataObject);
-
- // Namespaces
- if (treeBuilder.Options["NestedNamespaces"])
- foreach (Namespace n in info.Namespaces)
- if (n.Parent != null && n.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (n);
-
- // Classes
- foreach (Class c in info.Classes)
- if (c.Parent != null && c.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (c);
-
- // Structures
- foreach (Structure s in info.Structures)
- if (s.Parent != null && s.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (s);
-
- // Unions
- foreach (Union u in info.Unions)
- if (u.Parent != null && u.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (u);
-
- // Enumerations
- foreach (Enumeration e in info.Enumerations)
- if (e.Parent != null && e.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (e);
-
- // Typedefs
- foreach (Typedef t in info.Typedefs)
- if (t.Parent != null && t.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (t);
-
- // Functions
- foreach (Function f in info.Functions)
- if (f.Parent != null && f.Parent.Equals (thisNamespace))
- treeBuilder.AddChild (f);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/ProjectNodeBuilderExtension.cs b/main/src/addins/CBinding/Navigation/ProjectNodeBuilderExtension.cs
deleted file mode 100644
index dec8bf20ee..0000000000
--- a/main/src/addins/CBinding/Navigation/ProjectNodeBuilderExtension.cs
+++ /dev/null
@@ -1,177 +0,0 @@
-//
-// ProjectNodeBuilderExtension.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Core;
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui.Components;
-using CBinding;
-using CBinding.Parser;
-using MonoDevelop.Ide;
-
-namespace CBinding.Navigation
-{
- public class ProjectNodeBuilderExtension : NodeBuilderExtension
- {
- public override bool CanBuildNode (Type dataType)
- {
- return typeof(CProject).IsAssignableFrom (dataType);
- }
-
- public override Type CommandHandlerType {
- get { return typeof(ProjectNodeBuilderExtensionHandler); }
- }
-
- protected override void Initialize ()
- {
- TagDatabaseManager.Instance.FileUpdated += OnFinishedBuildingTree;
- }
-
- public override void Dispose ()
- {
- TagDatabaseManager.Instance.FileUpdated -= OnFinishedBuildingTree;
- }
-
- public static void CreatePadTree (object o)
- {
- CProject p = o as CProject;
- if (o == null) return;
-
- try {
- foreach (ProjectFile f in p.Files) {
- if (f.BuildAction == BuildAction.Compile)
- TagDatabaseManager.Instance.UpdateFileTags (p, f.Name);
- }
- } catch (IOException) {
- return;
- }
- }
-
- private bool check_ctags = false;
- private bool have_ctags = false;
-
- private void CheckForCtags ()
- {
- check_ctags = true;
- have_ctags = TagDatabaseManager.Instance.DepsInstalled;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- if (!check_ctags)
- CheckForCtags ();
-
- CProject p = dataObject as CProject;
-
- if (p == null)
- return;
-
- if (!have_ctags) {
- nodeInfo.Label = string.Format ("{0} <span foreground='red' size='small'>(CTags not installed)</span>", p.Name);
- }
- }
-
-
- public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
- {
- CProject p = dataObject as CProject;
-
- if (p == null) return;
-
- bool nestedNamespaces = builder.Options["NestedNamespaces"];
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- // Namespaces
- foreach (Namespace n in info.Namespaces) {
- if (nestedNamespaces) {
- if (n.Parent == null) {
- builder.AddChild (n);
- }
- } else {
- builder.AddChild (n);
- }
- }
-
- // Globals
- builder.AddChild (info.Globals);
-
- // Macro Definitions
- builder.AddChild (info.MacroDefinitions);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- private void OnFinishedBuildingTree (ClassPadEventArgs e)
- {
- ITreeBuilder builder = Context.GetTreeBuilder (e.Project);
- if (null != builder)
- builder.UpdateChildren ();
- }
- }
-
- public class ProjectNodeBuilderExtensionHandler : NodeCommandHandler
- {
-// public override void ActivateItem ()
-// {
-// CProject p = CurrentNode.DataItem as CProject;
-//
-// if (p == null) return;
-//
-// Thread builderThread = new Thread (new ParameterizedThreadStart (ProjectNodeBuilderExtension.CreatePadTree));
-// builderThread.Name = "PadBuilder";
-// builderThread.IsBackground = true;
-// builderThread.Start (p);
-// }
-
- [CommandHandler (CProjectCommands.UpdateClassPad)]
- public void UpdateClassPad ()
- {
- CProject p = CurrentNode.DataItem as CProject;
-
- if (p == null) return;
-
- foreach (ProjectFile f in p.Files) {
- if (f.BuildAction == BuildAction.Compile)
- TagDatabaseManager.Instance.UpdateFileTags (p, f.Name);
- }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/StructureNodeBuilder.cs b/main/src/addins/CBinding/Navigation/StructureNodeBuilder.cs
deleted file mode 100644
index c5909841a3..0000000000
--- a/main/src/addins/CBinding/Navigation/StructureNodeBuilder.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// StructureNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class StructureNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Structure); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Structure)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Structure s = (Structure)dataObject;
-
- nodeInfo.Label = s.Name;
-
- switch (s.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Struct);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedStruct);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateStruct);
- break;
- }
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- bool publicOnly = treeBuilder.Options["PublicApiOnly"];
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- Structure thisStruct = (Structure)dataObject;
-
- // Classes
- foreach (Class c in info.Classes)
- if (c.Parent != null && c.Parent.Equals (thisStruct) && (!publicOnly || c.Access == AccessModifier.Public))
- treeBuilder.AddChild (c);
-
- // Structures
- foreach (Structure s in info.Structures)
- if (s.Parent != null && s.Parent.Equals (thisStruct) && (!publicOnly || s.Access == AccessModifier.Public))
- treeBuilder.AddChild (s);
-
- // Unions
- foreach (Union u in info.Unions)
- if (u.Parent != null && u.Parent.Equals (thisStruct) && (!publicOnly || u.Access == AccessModifier.Public))
- treeBuilder.AddChild (u);
-
- // Enumerations
- foreach (Enumeration e in info.Enumerations)
- if (e.Parent != null && e.Parent.Equals (thisStruct) && (!publicOnly || e.Access == AccessModifier.Public))
- treeBuilder.AddChild (e);
-
- // Typedefs
- foreach (Typedef t in info.Typedefs)
- if (t.Parent != null && t.Parent.Equals (thisStruct) && (!publicOnly || t.Access == AccessModifier.Public))
- treeBuilder.AddChild (t);
-
- // Functions
- foreach (Function f in info.Functions)
- if (f.Parent != null && f.Parent.Equals (thisStruct) && (!publicOnly || f.Access == AccessModifier.Public))
- treeBuilder.AddChild (f);
-
- // Members
- foreach (Member m in info.Members)
- if (m.Parent != null && m.Parent.Equals (thisStruct) && (!publicOnly || m.Access == AccessModifier.Public))
- treeBuilder.AddChild (m);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Class)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/TypedefNodeBuilder.cs b/main/src/addins/CBinding/Navigation/TypedefNodeBuilder.cs
deleted file mode 100644
index d94ec9fbab..0000000000
--- a/main/src/addins/CBinding/Navigation/TypedefNodeBuilder.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// TypedefNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class TypedefNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Typedef); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Typedef)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Typedef t = (Typedef)dataObject;
-
- nodeInfo.Label = t.Name;
- nodeInfo.Icon = Context.GetIcon (Stock.Interface);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Enumeration)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/UnionNodeBuilder.cs b/main/src/addins/CBinding/Navigation/UnionNodeBuilder.cs
deleted file mode 100644
index d68b26ff61..0000000000
--- a/main/src/addins/CBinding/Navigation/UnionNodeBuilder.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// UnionNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Reflection;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class UnionNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Union); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Union)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Union u = (Union)dataObject;
-
- nodeInfo.Label = u.Name;
-
- switch (u.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon ("md-union");
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon ("md-protected-union");
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon ("md-private-union");
- break;
- }
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- CProject p = treeBuilder.GetParentDataItem (typeof(CProject), false) as CProject;
-
- if (p == null) return;
-
- ProjectInformation info = ProjectInformationManager.Instance.Get (p);
-
- Union thisUnion = (Union)dataObject;
-
- // Classes
- foreach (Class c in info.Classes)
- if (c.Parent != null && c.Parent.Equals (thisUnion))
- treeBuilder.AddChild (c);
-
- // Structures
- foreach (Structure s in info.Structures)
- if (s.Parent != null && s.Parent.Equals (thisUnion))
- treeBuilder.AddChild (s);
-
- // Unions
- foreach (Union u in info.Unions)
- if (u.Parent != null && u.Parent.Equals (thisUnion))
- treeBuilder.AddChild (u);
-
- // Enumerations
- foreach (Enumeration e in info.Enumerations)
- if (e.Parent != null && e.Parent.Equals (thisUnion))
- treeBuilder.AddChild (e);
-
- // Typedefs
- foreach (Typedef t in info.Typedefs)
- if (t.Parent != null && t.Parent.Equals (thisUnion))
- treeBuilder.AddChild (t);
-
- // Functions
- foreach (Function f in info.Functions)
- if (f.Parent != null && f.Parent.Equals (thisUnion))
- treeBuilder.AddChild (f);
-
- // Members
- foreach (Member m in info.Members)
- if (m.Parent != null && m.Parent.Equals (thisUnion))
- treeBuilder.AddChild (m);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return true;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Structure)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Navigation/VariableNodeBuilder.cs b/main/src/addins/CBinding/Navigation/VariableNodeBuilder.cs
deleted file mode 100644
index 587b53df6d..0000000000
--- a/main/src/addins/CBinding/Navigation/VariableNodeBuilder.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-// VariableNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using Mono.Addins;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Components;
-
-using CBinding.Parser;
-
-namespace CBinding.Navigation
-{
- public class VariableNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Variable); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(LanguageItemCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Variable)dataObject).Name;
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- Variable v = (Variable)dataObject;
-
- nodeInfo.Label = v.Name;
-
- switch (v.Access)
- {
- case AccessModifier.Public:
- nodeInfo.Icon = Context.GetIcon (Stock.Field);
- break;
- case AccessModifier.Protected:
- nodeInfo.Icon = Context.GetIcon (Stock.ProtectedField);
- break;
- case AccessModifier.Private:
- nodeInfo.Icon = Context.GetIcon (Stock.PrivateField);
- break;
- }
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return false;
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- if (otherNode.DataItem is Function)
- return 1;
- else
- return -1;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/BsdCTagsManager.cs b/main/src/addins/CBinding/Parser/BsdCTagsManager.cs
deleted file mode 100644
index 6f21867b19..0000000000
--- a/main/src/addins/CBinding/Parser/BsdCTagsManager.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-// BsdCTagsManager.cs
-//
-// Author:
-// Levi Bard <levi@unity3d.com>
-//
-// Copyright (c) 2010 Levi Bard
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.IO;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Collections.Generic;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-
-namespace CBinding.Parser
-{
- public class BsdCTagsManager: CTagsManager
- {
- #region implemented abstract members of CBinding.Parser.CTagsManager
-
- protected override IEnumerable<string> GetTags (FileInformation fileInfo)
- {
- string tagFileName = Path.GetFileName (fileInfo.FileName) + ".tag";
- string tagFullFileName = Path.Combine (SystemTagsDirectory, tagFileName);
-
- string ctags_options = string.Format ("-dtx '{0}'", fileInfo.FileName);
- string ctags_output = string.Empty;
-
- if (!File.Exists (tagFullFileName) || File.GetLastWriteTimeUtc (tagFullFileName) < File.GetLastWriteTimeUtc (fileInfo.FileName)) {
- ctags_output = GetOutputFromProcess (CTagsExecutable, ctags_options, Environment.CurrentDirectory);
- File.WriteAllText (tagFullFileName, ctags_output);
- }
-
- return ctags_output.Split (newlines, StringSplitOptions.RemoveEmptyEntries);
- }
-
- static readonly char[] newlines = {'\r','\n'};
- protected override IEnumerable<string> GetTags (MonoDevelop.Projects.Project project, string filename, IEnumerable<string> headers)
- {
- StringBuilder ctags_kinds = new StringBuilder ("-dtx");
-
- ctags_kinds.AppendFormat (" '{0}'", filename);
- foreach (string header in headers) {
- ctags_kinds.AppendFormat (" '{0}'", header);
- }
-
- string output = GetOutputFromProcess (CTagsExecutable, ctags_kinds.ToString (), project.BaseDirectory);
- if (output != null)
- return output.Split (newlines, StringSplitOptions.RemoveEmptyEntries);
- return null;
- }
-
- public override void FillFileInformation (FileInformation fileInfo)
- {
- IEnumerable<string> ctags_output = GetTags (fileInfo);
- if (ctags_output == null) return;
-
- foreach (string tagEntry in ctags_output) {
- if (tagEntry.StartsWith ("!_")) continue;
-
- Tag tag = ParseTag (tagEntry);
-
- if (tag != null)
- AddInfo (fileInfo, tag, tagEntry);
- }
-
- fileInfo.IsFilled = true;
- }
-
-
- // Format: symbol line file fulltext (there may not be any whitespace between symbol and line)
- static readonly Regex tagExpression = new Regex (@"\s*(?<symbol>[^\s]+?)\s*(?<line>\d+)\s+(?<file>[^\s]+)\s+(?<raw>.*)", RegexOptions.Compiled);
-
- public override Tag ParseTag (string tagEntry)
- {
- try {
- Match tagMatch = tagExpression.Match (tagEntry);
- if (tagMatch == null) return null;
-
- TagKind kind = TagKind.Member;
- string signature = tagMatch.Groups["raw"].Value;
- int start = signature.IndexOf ('(');
- int end = signature.LastIndexOf (')');
-
- if (start >= 0 && end > start) {
- // Attempt to parse out method parameter block
- signature = signature.Substring (start, end - start + 1);
- kind = TagKind.Function; // TODO: improve kind guessing
- }
- return new Tag (tagMatch.Groups["symbol"].Value,
- tagMatch.Groups["file"].Value,
- ulong.Parse (tagMatch.Groups["line"].Value)+1,
- kind, AccessModifier.Public,
- null, null, null, null, null, signature);
- } catch (Exception ex) {
- LoggingService.LogWarning (string.Format ("Error parsing tag {0}", tagEntry), ex);
- }
- return null;
- }
-
- #endregion
-
- }
-}
-
diff --git a/main/src/addins/CBinding/Parser/CDocumentParser.cs b/main/src/addins/CBinding/Parser/CDocumentParser.cs
deleted file mode 100755
index 82cea2c6a8..0000000000
--- a/main/src/addins/CBinding/Parser/CDocumentParser.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-//
-// CDocumentParser.cs
-//
-// Author:
-// Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
-//
-// Copyright (c) 2009 Levi Bard
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-
-using MonoDevelop.Core;
-using MonoDevelop.Projects;
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.TypeSystem;
-using ICSharpCode.NRefactory.TypeSystem;
-using ICSharpCode.NRefactory.TypeSystem.Implementation;
-using MonoDevelop.Core.Text;
-
-namespace CBinding.Parser
-{
- /// <summary>
- /// Ctags-based document parser helper
- /// </summary>
- public class CDocumentParser: TypeSystemParser
- {
- public override System.Threading.Tasks.Task<ParsedDocument> Parse (ParseOptions options, System.Threading.CancellationToken cancellationToken)
- {
- var fileName = options.FileName;
- var project = options.Project;
- var doc = new DefaultParsedDocument (fileName);
- doc.Flags |= ParsedDocumentFlags.NonSerializable;
- ProjectInformation pi = ProjectInformationManager.Instance.Get (project);
-
- string content = options.Content.Text;
- string[] contentLines = content.Split (new string[]{Environment.NewLine}, StringSplitOptions.None);
-
- var globals = new DefaultUnresolvedTypeDefinition ("", GettextCatalog.GetString ("(Global Scope)"));
- lock (pi) {
- // Add containers to type list
- foreach (LanguageItem li in pi.Containers ()) {
- if (null == li.Parent && FilePath.Equals (li.File, fileName)) {
- var tmp = AddLanguageItem (pi, globals, li, contentLines) as IUnresolvedTypeDefinition;
- if (null != tmp){ /*doc.TopLevelTypeDefinitions.Add (tmp);*/ }
- }
- }
-
- // Add global category for unscoped symbols
- foreach (LanguageItem li in pi.InstanceMembers ()) {
- if (null == li.Parent && FilePath.Equals (li.File, fileName)) {
- AddLanguageItem (pi, globals, li, contentLines);
- }
- }
- }
-
- //doc.TopLevelTypeDefinitions.Add (globals);
- return System.Threading.Tasks.Task.FromResult((ParsedDocument)doc);
- }
-
- /// <summary>
- /// Finds the end of a function's definition by matching braces.
- /// </summary>
- /// <param name="content">
- /// A <see cref="System.String"/> array: each line of the content to be searched.
- /// </param>
- /// <param name="startLine">
- /// A <see cref="System.Int32"/>: The earliest line at which the function may start.
- /// </param>
- /// <returns>
- /// A <see cref="System.Int32"/>: The detected end of the function.
- /// </returns>
- static int FindFunctionEnd (string[] content, int startLine) {
- int start = FindFunctionStart (content, startLine);
- if (0 > start){ return startLine; }
-
- int count = 0;
-
- for (int i= start; i<content.Length; ++i) {
- foreach (char c in content[i]) {
- switch (c) {
- case '{':
- ++count;
- break;
- case '}':
- if (0 >= --count) {
- return i;
- }
- break;
- }
- }
- }
-
- return startLine;
- }
-
- /// <summary>
- /// Finds the start of a function's definition.
- /// </summary>
- /// <param name="content">
- /// A <see cref="System.String"/> array: each line of the content to be searched.
- /// </param>
- /// <param name="startLine">
- /// A <see cref="System.Int32"/>: The earliest line at which the function may start.
- /// </param>
- /// <returns>
- /// A <see cref="System.Int32"/>: The detected start of the function
- /// definition, or -1.
- /// </returns>
- static int FindFunctionStart (string[] content, int startLine) {
- int semicolon = -1;
- int bracket = -1;
-
- for (int i=startLine; i<content.Length; ++i) {
- semicolon = content[i].IndexOf (';');
- bracket = content[i].IndexOf ('{');
- if (0 <= semicolon) {
- return (0 > bracket ^ semicolon < bracket)? -1: i;
- } else if (0 <= bracket) {
- return i;
- }
- }
-
- return -1;
- }
-
- static readonly Regex paramExpression = new Regex (@"(?<type>[^\s]+)\s+(?<subtype>[*&]*)(?<name>[^\s[]+)(?<array>\[.*)?", RegexOptions.Compiled);
-
- static object AddLanguageItem (ProjectInformation pi, DefaultUnresolvedTypeDefinition klass, LanguageItem li, string[] contentLines)
- {
-
- if (li is Class || li is Structure || li is Enumeration) {
- var type = LanguageItemToIType (pi, li, contentLines);
- klass.NestedTypes.Add (type);
- return type;
- }
-
- if (li is Function) {
- var method = FunctionToIMethod (pi, klass, (Function)li, contentLines);
- klass.Members.Add (method);
- return method;
- }
-
- var field = LanguageItemToIField (klass, li, contentLines);
- klass.Members.Add (field);
- return field;
- }
-
- /// <summary>
- /// Create an IMember from a LanguageItem,
- /// using the source document to locate declaration bounds.
- /// </summary>
- /// <param name="pi">
- /// A <see cref="ProjectInformation"/> for the current project.
- /// </param>
- /// <param name="item">
- /// A <see cref="LanguageItem"/>: The item to convert.
- /// </param>
- /// <param name="contentLines">
- /// A <see cref="System.String[]"/>: The document in which item is defined.
- /// </param>
- static DefaultUnresolvedTypeDefinition LanguageItemToIType (ProjectInformation pi, LanguageItem item, string[] contentLines)
- {
- var klass = new DefaultUnresolvedTypeDefinition ("", item.File);
- if (item is Class || item is Structure) {
- klass.Region = new DomRegion ((int)item.Line, 1, FindFunctionEnd (contentLines, (int)item.Line-1) + 2, 1);
- klass.Kind = item is Class ? TypeKind.Class : TypeKind.Struct;
- foreach (LanguageItem li in pi.AllItems ()) {
- if (klass.Equals (li.Parent) && FilePath.Equals (li.File, item.File))
- AddLanguageItem (pi, klass, li, contentLines);
- }
- return klass;
- }
-
- klass.Region = new DomRegion ((int)item.Line, 1, (int)item.Line + 1, 1);
- klass.Kind = TypeKind.Enum;
- return klass;
- }
-
- static IUnresolvedField LanguageItemToIField (IUnresolvedTypeDefinition type, LanguageItem item, string[] contentLines)
- {
- var result = new DefaultUnresolvedField (type, item.Name);
- result.Region = new DomRegion ((int)item.Line, 1, (int)item.Line + 1, 1);
- return result;
- }
-
- static IUnresolvedMethod FunctionToIMethod (ProjectInformation pi, IUnresolvedTypeDefinition type, Function function, string[] contentLines)
- {
- var method = new DefaultUnresolvedMethod (type, function.Name);
- method.Region = new DomRegion ((int)function.Line, 1, FindFunctionEnd (contentLines, (int)function.Line-1)+2, 1);
-
- Match match;
- bool abort = false;
- var parameters = new List<IUnresolvedParameter> ();
- foreach (string parameter in function.Parameters) {
- match = paramExpression.Match (parameter);
- if (null == match) {
- abort = true;
- break;
- }
- var typeRef = new DefaultUnresolvedTypeDefinition (string.Format ("{0}{1}{2}", match.Groups["type"].Value, match.Groups["subtype"].Value, match.Groups["array"].Value));
- var p = new DefaultUnresolvedParameter (typeRef, match.Groups["name"].Value);
- parameters.Add (p);
- }
- if (!abort)
- parameters.ForEach (p => method.Parameters.Add (p));
- return method;
- }
-
-
- }
-}
diff --git a/main/src/addins/CBinding/Parser/CTagsManager.cs b/main/src/addins/CBinding/Parser/CTagsManager.cs
deleted file mode 100644
index a26645836d..0000000000
--- a/main/src/addins/CBinding/Parser/CTagsManager.cs
+++ /dev/null
@@ -1,200 +0,0 @@
-//
-// CTagsManager.cs
-//
-// Author:
-// Levi Bard <levi@unity3d.com>
-//
-// Copyright (c) 2010 Levi Bard
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Linq;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-
-namespace CBinding.Parser
-{
- public abstract class CTagsManager
- {
- public abstract Tag ParseTag (string tagEntry);
- protected abstract IEnumerable<string> GetTags (FileInformation fileInfo);
- protected abstract IEnumerable<string> GetTags (Project project, string filename, IEnumerable<string> headers);
-
- public static readonly string SystemTagsDirectory = UserProfile.Current.CacheDir.Combine ("CTagsData");
-
- public static string CTagsExecutable {
- get { return PropertyService.Get<string> ("CBinding.CTagsExecutable", "ctags"); }
- }
-
- static CTagsManager ()
- {
- try {
- Directory.CreateDirectory (SystemTagsDirectory);
- } catch (IOException ioe) {
- LoggingService.LogError ("Error creating system tags directory", ioe);
- }
- }
-
- protected virtual void AddInfo (FileInformation info, Tag tag, string ctags_output)
- {
- switch (tag.Kind)
- {
- case TagKind.Class:
- Class c = new Class (tag, info.Project, ctags_output);
- if (!info.Classes.Contains (c))
- info.Classes.Add (c);
- break;
- case TagKind.Enumeration:
- Enumeration e = new Enumeration (tag, info.Project, ctags_output);
- if (!info.Enumerations.Contains (e))
- info.Enumerations.Add (e);
- break;
- case TagKind.Enumerator:
- Enumerator en= new Enumerator (tag, info.Project, ctags_output);
- if (!info.Enumerators.Contains (en))
- info.Enumerators.Add (en);
- break;
- case TagKind.ExternalVariable:
- break;
- case TagKind.Function:
- Function f = new Function (tag, info.Project, ctags_output);
- if (!info.Functions.Contains (f))
- info.Functions.Add (f);
- break;
- case TagKind.Local:
- Local lo = new Local (tag, info.Project, ctags_output);
- if(!info.Locals.Contains (lo))
- info.Locals.Add (lo);
- break;
- case TagKind.Macro:
- Macro m = new Macro (tag, info.Project);
- if (!info.Macros.Contains (m))
- info.Macros.Add (m);
- break;
- case TagKind.Member:
- Member me = new Member (tag, info.Project, ctags_output);
- if (!info.Members.Contains (me))
- info.Members.Add (me);
- break;
- case TagKind.Namespace:
- Namespace n = new Namespace (tag, info.Project, ctags_output);
- if (!info.Namespaces.Contains (n))
- info.Namespaces.Add (n);
- break;
- case TagKind.Prototype:
- Function fu = new Function (tag, info.Project, ctags_output);
- if (!info.Functions.Contains (fu))
- info.Functions.Add (fu);
- break;
- case TagKind.Structure:
- Structure s = new Structure (tag, info.Project, ctags_output);
- if (!info.Structures.Contains (s))
- info.Structures.Add (s);
- break;
- case TagKind.Typedef:
- Typedef t = new Typedef (tag, info.Project, ctags_output);
- if (!info.Typedefs.Contains (t))
- info.Typedefs.Add (t);
- break;
- case TagKind.Union:
- Union u = new Union (tag, info.Project, ctags_output);
- if (!info.Unions.Contains (u))
- info.Unions.Add (u);
- break;
- case TagKind.Variable:
- Variable v = new Variable (tag, info.Project);
- if (!info.Variables.Contains (v))
- info.Variables.Add (v);
- break;
- default:
- break;
- }
- }
-
- public virtual void FillFileInformation (FileInformation fileInfo)
- {
- IEnumerable<string> ctags_output = GetTags (fileInfo);
-
- foreach (string tagEntry in ctags_output) {
- if (tagEntry.StartsWith ("!_")) continue;
-
- Tag tag = ParseTag (tagEntry);
-
- if (tag != null)
- AddInfo (fileInfo, tag, tagEntry);
- }
-
- fileInfo.IsFilled = true;
- }
-
- public virtual void DoUpdateFileTags (MonoDevelop.Projects.Project project, string filename, IEnumerable<string> headers)
- {
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
-
- lock (info) {
- info.RemoveFileInfo (filename);
-
- IEnumerable<string> tags = GetTags (project, filename, headers);
- if (tags == null) return;
-
- foreach (string tagEntry in tags) {
- if (tagEntry.StartsWith ("!_")) continue;
-
- Tag tag = ParseTag (tagEntry);
-
- if (tag != null)
- AddInfo (info, tag, tagEntry);
- }
- }
- }
-
- public static string GetOutputFromProcess (string executable, string args, string baseDirectory)
- {
- string processOutput = null;
- ProcessWrapper p = null;
- StringWriter output = null,
- error = null;
- try {
- output = new StringWriter ();
- error = new StringWriter ();
-
- p = Runtime.ProcessService.StartProcess (executable, args, baseDirectory, output, error, null);
- p.WaitForOutput (10000);
-
- if (p.HasExited) {
- processOutput = output.ToString ();
- }
- } finally {
- if (p != null)
- p.Dispose ();
- if (output != null)
- output.Dispose ();
- }
-
- return processOutput;
- }
- }
-}
-
diff --git a/main/src/addins/CBinding/Parser/Class.cs b/main/src/addins/CBinding/Parser/Class.cs
deleted file mode 100644
index 4099c6e8c3..0000000000
--- a/main/src/addins/CBinding/Parser/Class.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Class.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Class : LanguageItem
- {
- public Class (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs b/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs
deleted file mode 100644
index fb9109f3bc..0000000000
--- a/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// CompilationUnitDataProvider.cs
-//
-// Author:
-// Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
-//
-// Copyright (c) 2010 Levi Bard
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Linq;
-
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Content;
-using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.Components;
-
-using Gtk;
-using MonoDevelop.Ide.Editor;
-
-namespace CBinding.Parser
-{
- // Yoinked from C# binding
- public class CompilationUnitDataProvider : DropDownBoxListWindow.IListDataProvider
- {
- TextEditor editor;
-
- DocumentContext DocumentContext { get; set; }
-
- public CompilationUnitDataProvider (TextEditor editor, DocumentContext documentContext)
- {
- this.editor = editor;
- this.DocumentContext = documentContext;
- }
-
- #region IListDataProvider implementation
- public void Reset () { }
-
- public string GetMarkup (int n)
- {
- return GLib.Markup.EscapeText (DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n).Name);
- }
-
- internal static Xwt.Drawing.Image Pixbuf
- {
- get { return ImageService.GetIcon (Gtk.Stock.Add, IconSize.Menu); }
- }
-
- public Xwt.Drawing.Image GetIcon (int n)
- {
- return Pixbuf;
- }
-
- public object GetTag (int n)
- {
- return DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n);
- }
-
-
- public void ActivateItem (int n)
- {
- var reg = DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n);
- var extEditor = editor;
- if (extEditor != null) {
- extEditor.CaretLocation = new DocumentLocation (Math.Max (1, reg.Region.BeginLine), reg.Region.BeginColumn);
- extEditor.StartCaretPulseAnimation ();
- }
- }
-
- public int IconCount
- {
- get {
- if (DocumentContext.ParsedDocument == null)
- return 0;
- return DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.Count ();
- }
- }
-
- #endregion
- }
-}
-
diff --git a/main/src/addins/CBinding/Parser/DataProvider.cs b/main/src/addins/CBinding/Parser/DataProvider.cs
deleted file mode 100755
index ce5e817c74..0000000000
--- a/main/src/addins/CBinding/Parser/DataProvider.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-//
-// DataProvider.cs
-//
-// Author:
-// Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
-//
-// Copyright (c) 2010 Levi Bard
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Content;
-using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.Components;
-
-using Gtk;
-using MonoDevelop.Ide.TypeSystem;
-using ICSharpCode.NRefactory.TypeSystem;
-using MonoDevelop.Ide.Editor;
-
-namespace CBinding.Parser
-{
- // TODO: Roslyn port.
-// // Yoinked from C# binding
-// public class DataProvider : DropDownBoxListWindow.IListDataProvider
-// {
-// object tag;
-// Ambience amb;
-// List<IUnresolvedEntity> memberList = new List<IUnresolvedEntity> ();
-//
-// TextEditor editor;
-//
-// DocumentContext DocumentContext {
-// get;
-// set;
-// }
-//
-// public DataProvider (TextEditor editor, DocumentContext documentContext, object tag, Ambience amb)
-// {
-// this.editor = editor;
-// this.DocumentContext = documentContext;
-// this.tag = tag;
-// this.amb = amb;
-// Reset ();
-// }
-//
-// #region IListDataProvider implementation
-// public void Reset ()
-// {
-// memberList.Clear ();
-// if (tag is IUnresolvedFile) {
-// var types = new Stack<IUnresolvedTypeDefinition> (((IUnresolvedFile)tag).TopLevelTypeDefinitions);
-// while (types.Count > 0) {
-// var type = types.Pop ();
-// memberList.Add (type);
-// foreach (var innerType in type.NestedTypes)
-// types.Push (innerType);
-// }
-// } else if (tag is IUnresolvedTypeDefinition) {
-// memberList.AddRange (((IUnresolvedTypeDefinition)tag).Members);
-// }
-// memberList.Sort ((x, y) => String.Compare (GetString (amb, x), GetString (amb, y), StringComparison.OrdinalIgnoreCase));
-// }
-//
-// string GetString (Ambience amb, IUnresolvedEntity x)
-// {
-// var ctx = new SimpleTypeResolveContext (DocumentContext.Compilation.MainAssembly);
-// IEntity rx = null;
-// if (x is IUnresolvedMember)
-// rx = ((IUnresolvedMember)x).CreateResolved (ctx);
-//
-// if (tag is IUnresolvedFile)
-// return amb.GetString (rx, OutputFlags.IncludeGenerics | OutputFlags.IncludeParameters | OutputFlags.UseFullInnerTypeName | OutputFlags.ReformatDelegates);
-// return amb.GetString (rx, OutputFlags.IncludeGenerics | OutputFlags.IncludeParameters | OutputFlags.ReformatDelegates);
-// }
-//
-// public string GetMarkup (int n)
-// {
-// var m = memberList[n];
-//// if (m.IsObsolete ())
-//// return "<s>" + GLib.Markup.EscapeText (GetString (amb, m)) + "</s>";
-// return GLib.Markup.EscapeText (GetString (amb, m));
-// }
-//
-// public Xwt.Drawing.Image GetIcon (int n)
-// {
-// return ImageService.GetIcon (memberList[n].GetStockIcon (), Gtk.IconSize.Menu);
-// }
-//
-// public object GetTag (int n)
-// {
-// return memberList[n];
-// }
-//
-// public void ActivateItem (int n)
-// {
-// var member = memberList[n];
-// var extEditor = editor;
-// if (extEditor != null) {
-// extEditor.SetCaretLocation (Math.Max (1, member.Region.BeginLine), Math.Max (1, member.Region.BeginColumn), true);
-// }
-// }
-//
-// public int IconCount {
-// get {
-// return memberList.Count;
-// }
-// }
-// #endregion
-// }
-}
-
diff --git a/main/src/addins/CBinding/Parser/Enumeration.cs b/main/src/addins/CBinding/Parser/Enumeration.cs
deleted file mode 100644
index adac66a33b..0000000000
--- a/main/src/addins/CBinding/Parser/Enumeration.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Enumeration.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Enumeration : LanguageItem
- {
- public Enumeration (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Enumerator.cs b/main/src/addins/CBinding/Parser/Enumerator.cs
deleted file mode 100644
index fe3af8ab6e..0000000000
--- a/main/src/addins/CBinding/Parser/Enumerator.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// Tag.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Enumerator : LanguageItem
- {
- public Enumerator (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- GetEnumeration (tag, ctags_output);
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/ExuberantCTagsManager.cs b/main/src/addins/CBinding/Parser/ExuberantCTagsManager.cs
deleted file mode 100644
index 2042b64e40..0000000000
--- a/main/src/addins/CBinding/Parser/ExuberantCTagsManager.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-//
-// ExuberantCTagsManager.cs
-//
-// Author:
-// Levi Bard <levi@unity3d.com>
-//
-// Copyright (c) 2010 Levi Bard
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Collections.Generic;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-
-namespace CBinding.Parser
-{
- public class ExuberantCTagsManager: CTagsManager
- {
- #region implemented abstract members of CBinding.Parser.CTagsManager
-
- protected override IEnumerable<string> GetTags (FileInformation fileInfo)
- {
- string tagFileName = Path.GetFileName (fileInfo.FileName) + ".tag";
- string tagFullFileName = Path.Combine (SystemTagsDirectory, tagFileName);
- string ctags_kinds = "--C++-kinds=+px";
- string ctags_output = string.Empty;
-
- if (PropertyService.Get<bool> ("CBinding.ParseLocalVariables", true))
- ctags_kinds += "l";
-
- string ctags_options = ctags_kinds + " --fields=+aStisk-fz --language-force=C++ --excmd=number --line-directives=yes -f '" + tagFullFileName + "' '" + fileInfo.FileName + "'";
-
- if (!File.Exists (tagFullFileName) || File.GetLastWriteTimeUtc (tagFullFileName) < File.GetLastWriteTimeUtc (fileInfo.FileName)) {
- GetOutputFromProcess (CTagsExecutable, ctags_options, Environment.CurrentDirectory);
- }
- try {
- ctags_output = File.ReadAllText (tagFullFileName);
- } catch (IOException ioe) {
- LoggingService.LogError ("Error updating system tags", ioe);
- }
-
- return ctags_output.Split (newlines, StringSplitOptions.RemoveEmptyEntries);
- }
-
- public override Tag ParseTag (string tagEntry)
- {
- string file;
- UInt64 line;
- string name;
- string tagField;
- TagKind kind;
- AccessModifier access = AccessModifier.Public;
- string _class = null;
- string _namespace = null;
- string _struct = null;
- string _union = null;
- string _enum = null;
- string signature = null;
-
- int i1 = tagEntry.IndexOf ('\t');
- name = tagEntry.Substring (0, tagEntry.IndexOf ('\t'));
-
- i1 += 1;
- int i2 = tagEntry.IndexOf ('\t', i1);
- file = tagEntry.Substring (i1, i2 - i1);
-
- i1 = i2 + 1;
- i2 = tagEntry.IndexOf (";\"", i1);
- line = UInt64.Parse(tagEntry.Substring (i1, i2 - i1));
-
- i1 = i2 + 3;
- kind = (TagKind)tagEntry[i1];
-
- i1 += 2;
- tagField = (tagEntry.Length > i1? tagField = tagEntry.Substring(i1) : String.Empty);
-
- string[] fields = tagField.Split ('\t');
- int index;
-
- foreach (string field in fields) {
- index = field.IndexOf (':');
-
- // TODO: Support friend modifier
- if (index > 0) {
- string key = field.Substring (0, index);
- string val = field.Substring (index + 1);
-
- switch (key) {
- case "access":
- try {
- access = (AccessModifier)System.Enum.Parse (typeof(AccessModifier), val, true);
- } catch (ArgumentException) {
- }
- break;
- case "class":
- _class = val;
- break;
- case "namespace":
- _namespace = val;
- break;
- case "struct":
- _struct = val;
- break;
- case "union":
- _union = val;
- break;
- case "enum":
- _enum = val;
- break;
- case "signature":
- signature = val;
- break;
- }
- }
- }
-
- return new Tag (name, file, line, kind, access, _class, _namespace, _struct, _union, _enum, signature);
- }
-
- static readonly char[] newlines = {'\r','\n'};
- protected override IEnumerable<string> GetTags (MonoDevelop.Projects.Project project, string filename, IEnumerable<string> headers)
- {
- StringBuilder ctags_kinds = new StringBuilder ("--C++-kinds=+px");
-
- if (PropertyService.Get<bool> ("CBinding.ParseLocalVariables", true))
- ctags_kinds.Append ("+l");
-
- // Maybe we should only ask for locals for 'local' files? (not external #includes?)
- ctags_kinds.AppendFormat (" --fields=+aStisk-fz --language-force=C++ --excmd=number --line-directives=yes -f - '{0}'", filename);
- foreach (string header in headers) {
- ctags_kinds.AppendFormat (" '{0}'", header);
- }
-
- string output = GetOutputFromProcess (CTagsExecutable, ctags_kinds.ToString (), project.BaseDirectory);
- if (output != null)
- return output.Split (newlines, StringSplitOptions.RemoveEmptyEntries);
- return null;
- }
-
- #endregion
- }
-}
-
diff --git a/main/src/addins/CBinding/Parser/Function.cs b/main/src/addins/CBinding/Parser/Function.cs
deleted file mode 100644
index 28bd3525ca..0000000000
--- a/main/src/addins/CBinding/Parser/Function.cs
+++ /dev/null
@@ -1,168 +0,0 @@
-//
-// Function.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Function : LanguageItem //, IParameterHintingData
- {
- #region IParameterHintingData implementation
-
- public string GetParameterName (int currentParameter)
- {
- return parameters [currentParameter];
- }
-
- public Microsoft.CodeAnalysis.ISymbol Symbol {
- get {
- return null;
- }
- }
-
- public int ParameterCount {
- get {
- return parameters.Length;
- }
- }
-
- public bool IsParameterListAllowed {
- get {
- return false;
- }
- }
-
- #endregion
-
- private string[] parameters;
- private string signature;
- private bool is_const = false;
-
- public Function (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- signature = tag.Signature;
- ParseSignature (tag.Signature);
-
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
-
- // TODO: Remove all this when sure it is no longer needed
- // (because we no longer generate prototype tags).
-// if (tag.Kind == TagKind.Prototype) {
-// Access = tag.Access;
-// if (GetNamespace (tag, ctags_output)) return;
-// if (GetClass (tag, ctags_output)) return;
-// if (GetStructure (tag, ctags_output)) return;
-// if (GetUnion (tag, ctags_output)) return;
-// } else {
-// // If it is not a prototype tag, we attempt to get the prototype tag
-// // we need the prototype tag because the implementation tag
-// // marks the belonging namespace as a if it were a class
-// // and it does not have the access field.
-// Tag prototypeTag = TagDatabaseManager.Instance.FindTag (Name, TagKind.Prototype, ctags_output);
-//
-// if (prototypeTag == null) {
-// // It does not have a prototype tag which means it is inline
-// // and when it is inline it does have all the info we need
-//
-// if (GetNamespace (tag, ctags_output)) return;
-// if (GetClass (tag, ctags_output)) return;
-// if (GetStructure (tag, ctags_output)) return;
-// if (GetUnion (tag, ctags_output)) return;
-//
-// return;
-// }
-//
-// // we need to re-get the access
-// Access = prototypeTag.Access;
-//
-// if (GetNamespace (prototypeTag, ctags_output)) return;
-// if (GetClass (prototypeTag, ctags_output)) return;
-// if (GetStructure (prototypeTag, ctags_output)) return;
-// if (GetUnion (prototypeTag, ctags_output)) return;
-// }
- }
-
- private void ParseSignature (string signature)
- {
- if (null == signature) return;
-
- string sig = signature;
-
- if (signature.EndsWith ("const")) {
- is_const = true;
- sig = signature.Substring (0, signature.Length - 6);
- sig = sig.Substring (1, sig.Length - 2);
- } else {
- sig = signature.Substring (1, signature.Length - 2);
- }
-
- parameters = sig.Split (',');
-
- for (int i = 0; i < parameters.Length; i++)
- parameters[i] = parameters[i].Trim ();
- }
-
- public string[] Parameters {
- get { return parameters; }
- }
-
- public string Signature {
- get { return signature; }
- }
-
- public bool IsConst {
- get { return is_const; }
- }
-
- public override bool Equals (object o)
- {
- Function other = o as Function;
-
- if (other != null &&
- FullName == other.FullName &&
- Project.Equals(other.Project) &&
- Signature == other.Signature)
- return true;
-
- return false;
- }
-
- public override int GetHashCode ()
- {
- return base.GetHashCode () + parameters.GetHashCode ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/LanguageItem.cs b/main/src/addins/CBinding/Parser/LanguageItem.cs
deleted file mode 100644
index f5a5ec69d4..0000000000
--- a/main/src/addins/CBinding/Parser/LanguageItem.cs
+++ /dev/null
@@ -1,257 +0,0 @@
-//
-// LanguageItem.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide;
-using MonoDevelop.Core;
-
-namespace CBinding.Parser
-{
- public class LanguageItem
- {
- private Project project;
- private string name;
- private string file;
- private UInt64 line;
- private AccessModifier access;
- private LanguageItem parent;
-
- public LanguageItem (Tag tag, Project project)
- {
- this.project = project;
- this.name = tag.Name;
- this.file = tag.File;
- this.line = tag.Line;
- this.access = tag.Access;
- }
-
- /// <summary>
- /// Attempts to get the namespace encompasing the function
- /// returns true on success and false if it does not have one.
- /// NOTE: if it's a method then even if the class it belongs to
- /// has a namespace the method will not have a namespace since
- /// it should be placed under the class node and not the namespace node
- /// </summary>
- protected bool GetNamespace (Tag tag, string ctags_output)
- {
- string n;
-
- if ((n = tag.Namespace) != null) {
- int index = n.LastIndexOf (':');
-
- if (index > 0)
- n = n.Substring (index + 1);
-
- try {
- Tag namespaceTag = TagDatabaseManager.Instance.FindTag (
- n, TagKind.Namespace, ctags_output);
-
- if (namespaceTag != null)
- parent = new Namespace (namespaceTag, project, ctags_output);
-
- } catch (IOException ex) {
- LoggingService.LogInternalError (ex);
- return false;
- }
-
- return true;
- }
-
- return false;
- }
-
- protected bool GetClass (Tag tag, string ctags_output)
- {
- string c;
-
- if ((c = tag.Class) != null) {
- int index = c.LastIndexOf (':');
-
- if (index > 0)
- c = c.Substring (index + 1);
-
- try {
- Tag classTag = TagDatabaseManager.Instance.FindTag (
- c, TagKind.Class, ctags_output);
-
- if (classTag != null)
- parent = new Class (classTag, project, ctags_output);
-
- } catch (IOException ex) {
- LoggingService.LogInternalError (ex);
- return false;
- }
-
- return true;
- }
-
- return false;
- }
-
- protected bool GetStructure (Tag tag, string ctags_output)
- {
- string s;
-
- if ((s = tag.Structure) != null) {
- int index = s.LastIndexOf (':');
-
- if (index > 0)
- s = s.Substring (index + 1);
-
- try {
- Tag classTag = TagDatabaseManager.Instance.FindTag (
- s, TagKind.Structure, ctags_output);
-
- if (classTag != null)
- parent = new Structure (classTag, project, ctags_output);
-
- } catch (IOException ex) {
- LoggingService.LogInternalError (ex);
- return false;
- }
-
- return true;
- }
-
- return false;
- }
-
- protected bool GetEnumeration (Tag tag, string ctags_output)
- {
- string e;
-
- if ((e = tag.Enum) != null) {
- int index = e.LastIndexOf (':');
-
- if (index > 0)
- e = e.Substring (index + 1);
-
- try {
- Tag enumTag = TagDatabaseManager.Instance.FindTag (
- e, TagKind.Enumeration, ctags_output);
-
- if (enumTag != null)
- parent = new Enumeration (enumTag, project, ctags_output);
-
- } catch (IOException ex) {
- LoggingService.LogInternalError (ex);
- return false;
- }
-
- return true;
- }
-
- return false;
- }
-
- protected bool GetUnion (Tag tag, string ctags_output)
- {
- string u;
-
- if ((u = tag.Union) != null) {
- int index = u.LastIndexOf (':');
-
- if (index > 0)
- u = u.Substring (index + 1);
-
- try {
- Tag unionTag = TagDatabaseManager.Instance.FindTag (
- u, TagKind.Union, ctags_output);
-
- if (unionTag != null)
- parent = new Union (unionTag, project, ctags_output);
-
- } catch (IOException ex) {
- LoggingService.LogInternalError (ex);
- return false;
- }
-
- return true;
- }
-
- return false;
- }
-
- public Project Project {
- get { return project; }
- }
-
- public LanguageItem Parent {
- get { return parent; }
- set { parent = value; }
- }
-
- public string Name {
- get { return name; }
- }
-
- public string FullName {
- get {
- if (Parent != null)
- return Parent.FullName + "::" + Name;
- return Name;
- }
- }
-
- public string File {
- get { return file; }
- }
-
- public UInt64 Line {
- get { return line; }
- }
-
- public AccessModifier Access {
- get { return access; }
- set { access = value; }
- }
-
- public override bool Equals (object o)
- {
- LanguageItem other = o as LanguageItem;
-
- if (other != null &&
- other.FullName.Equals (FullName) &&
- other.Project.Equals (project))
- return true;
-
- return false;
- }
-
- public override int GetHashCode ()
- {
- return (name + file + line.ToString() + project.Name).GetHashCode ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Local.cs b/main/src/addins/CBinding/Parser/Local.cs
deleted file mode 100644
index 06dd51fff0..0000000000
--- a/main/src/addins/CBinding/Parser/Local.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// Member.cs
-//
-// Authors:
-// Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
-//
-// Copyright (C) 2008 Levi Bard
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- /// <summary>
- /// Class for local variables
- /// </summary>
- public class Local : Member
- {
- public Local (Tag tag, Project project, string ctags_output) : base (tag, project, ctags_output)
- {
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Macro.cs b/main/src/addins/CBinding/Parser/Macro.cs
deleted file mode 100644
index 14d709b8a7..0000000000
--- a/main/src/addins/CBinding/Parser/Macro.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// Macro.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Macro : LanguageItem
- {
- public Macro (Tag tag, Project project) : base (tag, project)
- {
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Member.cs b/main/src/addins/CBinding/Parser/Member.cs
deleted file mode 100644
index 46c46ede7b..0000000000
--- a/main/src/addins/CBinding/Parser/Member.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-// Member.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text.RegularExpressions;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Member : LanguageItem
- {
- public string InstanceType {
- get{ return instanceType; }
- }
- protected string instanceType;
-
- public bool IsPointer {
- get{ return isPointer; }
- }
- protected bool isPointer;
-
- public Member (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- GetInstanceType (tag);
-
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
-
- /// <summary>
- /// Regex for deriving the type of a variable,
- /// and whether it's a pointer,
- /// from an expression, e.g.
- /// static Foo::bar<string> *blah = NULL;
- /// </summary>
- public static Regex InstanceTypeExpression = new Regex (
- @"^\s*((static|friend|const|mutable|extern|struct|union|\w*::|<[\w><:]*>)\s*)*(?<type>\w[\w\d]*)\s*(<.*>)?\s*(?<pointer>[*])?",
- RegexOptions.Compiled);
-
- /// <summary>
- /// Populates an instance's instanceType and isPointer fields
- /// by matching its pattern against InstanceTypeExpression
- /// </summary>
- /// <param name="tag">
- /// The partially-populated tag of an instance
- /// <see cref="Tag"/>
- /// </param>
- /// <returns>
- /// Whether the regex was successfully matched
- /// <see cref="System.Boolean"/>
- /// </returns>
- protected bool GetInstanceType (Tag tag) {
- try {
- string declaration = null;
-
- using (StreamReader reader = new StreamReader (tag.File)) {
- for (ulong i=0; i<tag.Line; ++i) {
- declaration = reader.ReadLine ();
- }
- }
-
- Match m = InstanceTypeExpression.Match (declaration);
-
- if (null != m) {
- instanceType = m.Groups["type"].Value;
- isPointer = m.Groups["pointer"].Success;
- return true;
- }
- } catch { }
-
- return false;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Namespace.cs b/main/src/addins/CBinding/Parser/Namespace.cs
deleted file mode 100644
index 061daf1cbe..0000000000
--- a/main/src/addins/CBinding/Parser/Namespace.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// Namespace.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Namespace : LanguageItem
- {
- public Namespace (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- GetNamespace (tag, ctags_output);
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/ProjectInformation.cs b/main/src/addins/CBinding/Parser/ProjectInformation.cs
deleted file mode 100644
index 86417b2254..0000000000
--- a/main/src/addins/CBinding/Parser/ProjectInformation.cs
+++ /dev/null
@@ -1,236 +0,0 @@
-//
-// ProjectInformation.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-
-using MonoDevelop.Projects;
-
-using CBinding.Navigation;
-
-namespace CBinding.Parser
-{
- public class FileInformation
- {
- protected Project project;
-
- protected List<Namespace> namespaces = new List<Namespace> ();
- protected List<Function> functions = new List<Function> ();
- protected List<Class> classes = new List<Class> ();
- protected List<Structure> structures = new List<Structure> ();
- protected List<Member> members = new List<Member> ();
- protected List<Variable> variables = new List<Variable> ();
- protected List<Macro> macros = new List<Macro> ();
- protected List<Enumeration> enumerations = new List<Enumeration> ();
- protected List<Enumerator> enumerators = new List<Enumerator> ();
- protected List<Union> unions = new List<Union> ();
- protected List<Typedef> typedefs = new List<Typedef> ();
- protected List<Local> locals = new List<Local> ();
-
- private string file_name;
- private bool is_filled = false;
-
- public FileInformation (Project project)
- {
- this.project = project;
- this.file_name = null;
- }
-
- public FileInformation (Project project, string filename)
- {
- this.project = project;
- this.file_name = filename;
- }
-
- public void Clear ()
- {
- namespaces.Clear ();
- functions.Clear ();
- classes.Clear ();
- structures.Clear ();
- members.Clear ();
- variables.Clear ();
- macros.Clear ();
- enumerations.Clear ();
- enumerators.Clear ();
- unions.Clear ();
- typedefs.Clear ();
- locals.Clear ();
- }
-
- /// <summary>
- /// Remove a file's parse information from the database.
- /// </summary>
- public void RemoveFileInfo(string filename)
- {
- namespaces.RemoveAll(delegate(Namespace item){ return item.File == filename; });
- functions.RemoveAll(delegate(Function item){ return item.File == filename; });
- classes.RemoveAll(delegate(Class item){ return item.File == filename; });
- structures.RemoveAll(delegate(Structure item){ return item.File == filename; });
- members.RemoveAll(delegate(Member item){ return item.File == filename; });
- variables.RemoveAll(delegate(Variable item){ return item.File == filename; });
- macros.RemoveAll(delegate(Macro item){ return item.File == filename; });
- enumerations.RemoveAll(delegate(Enumeration item){ return item.File == filename; });
- enumerators.RemoveAll(delegate(Enumerator item){ return item.File == filename; });
- unions.RemoveAll(delegate(Union item){ return item.File == filename; });
- typedefs.RemoveAll(delegate(Typedef item){ return item.File == filename; });
- locals.RemoveAll(delegate(Local item){ return item.File == filename; });
- }
-
- public IEnumerable<LanguageItem> Containers ()
- {
- List<LanguageItem> containers = new List<LanguageItem> ();
-
- containers.AddRange ((LanguageItem[])namespaces.ToArray());
- containers.AddRange ((LanguageItem[])classes.ToArray());
- containers.AddRange ((LanguageItem[])structures.ToArray());
- containers.AddRange ((LanguageItem[])enumerations.ToArray());
- containers.AddRange ((LanguageItem[])unions.ToArray());
-
- return containers;
- }
-
- // Functions, fields
- public IEnumerable<LanguageItem> InstanceMembers ()
- {
- List<LanguageItem> instanceMembers = new List<LanguageItem> ();
-
- instanceMembers.AddRange ((LanguageItem[])functions.ToArray());
- instanceMembers.AddRange ((LanguageItem[])members.ToArray());
-
- return instanceMembers;
- }
-
- // All items except macros
- public IEnumerable<LanguageItem> AllItems ()
- {
- List<LanguageItem> allItems = new List<LanguageItem> ();
-
- allItems.AddRange (Containers ());
- allItems.AddRange (InstanceMembers ());
- allItems.AddRange ((LanguageItem[])variables.ToArray());
- allItems.AddRange ((LanguageItem[])enumerators.ToArray());
- allItems.AddRange ((LanguageItem[])typedefs.ToArray());
- allItems.AddRange ((LanguageItem[])locals.ToArray());
-
- return allItems;
- }
-
- public Project Project {
- get { return project; }
- }
-
- public List<Namespace> Namespaces {
- get { return namespaces; }
- }
-
- public List<Function> Functions {
- get { return functions; }
- }
-
- public List<Class> Classes {
- get { return classes; }
- }
-
- public List<Structure> Structures {
- get { return structures; }
- }
-
- public List<Member> Members {
- get { return members; }
- }
-
- public List<Variable> Variables {
- get { return variables; }
- }
-
- public List<Macro> Macros {
- get { return macros; }
- }
-
- public List<Enumeration> Enumerations {
- get { return enumerations; }
- }
-
- public List<Enumerator> Enumerators {
- get { return enumerators; }
- }
-
- public List<Union> Unions {
- get { return unions; }
- }
-
- public List<Typedef> Typedefs {
- get { return typedefs; }
- }
-
- public List<Local> Locals {
- get { return locals; }
- }
-
- public string FileName {
- get { return file_name; }
- set { file_name = value; }
- }
-
- public bool IsFilled {
- get { return is_filled; }
- set { is_filled = value; }
- }
- }
-
- // TODO: Update this such that it either supports multiple configurations - or is used in a configuration specific manner.
- public class ProjectInformation : FileInformation
- {
- private Globals globals;
- private MacroDefinitions macroDefs;
-
- private Dictionary<string, List<FileInformation>> includedFiles = new Dictionary<string, List<FileInformation>> ();
-
- public ProjectInformation (Project project) : base (project)
- {
- globals = new Globals (project);
- macroDefs = new MacroDefinitions (project);
- }
-
- public Globals Globals {
- get { return globals; }
- }
-
- public MacroDefinitions MacroDefinitions {
- get { return macroDefs; }
- }
-
- public Dictionary<string, List<FileInformation>> IncludedFiles {
- get { return includedFiles; }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/ProjectInformationManager.cs b/main/src/addins/CBinding/Parser/ProjectInformationManager.cs
deleted file mode 100644
index ee94704334..0000000000
--- a/main/src/addins/CBinding/Parser/ProjectInformationManager.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// ProjectInformationManager.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-
-using MonoDevelop.Projects;
-
-using CBinding.Navigation;
-
-namespace CBinding.Parser
-{
- /// <summary>
- /// Singleton class to manage the navigation information of each project
- /// </summary>
- public class ProjectInformationManager
- {
- private static ProjectInformationManager instance;
- private List<ProjectInformation> projects = new List<ProjectInformation> ();
-
- private ProjectInformationManager ()
- {
- }
-
- public ProjectInformation Get (Project project)
- {
- foreach (ProjectInformation p in projects) {
- if (p.Project == project ||
- (null != project && project.Equals (p.Project))) {
- return p;
- }
- }
-
- ProjectInformation newinfo = new ProjectInformation (project);
- projects.Add (newinfo);
-
- return newinfo;
- }
-
- public static ProjectInformationManager Instance {
- get {
- if (instance == null)
- instance = new ProjectInformationManager ();
-
- return instance;
- }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Structure.cs b/main/src/addins/CBinding/Parser/Structure.cs
deleted file mode 100644
index e8c11cdb22..0000000000
--- a/main/src/addins/CBinding/Parser/Structure.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Structure.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Structure : LanguageItem
- {
- public Structure (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Tag.cs b/main/src/addins/CBinding/Parser/Tag.cs
deleted file mode 100644
index b2c02aaabb..0000000000
--- a/main/src/addins/CBinding/Parser/Tag.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-//
-// Tag.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-namespace CBinding.Parser
-{
- public enum TagKind {
- Class = 'c',
- Macro = 'd',
- Enumerator = 'e',
- Function = 'f',
- Enumeration = 'g',
- Local = 'l',
- Member = 'm',
- Namespace = 'n',
- Prototype = 'p',
- Structure = 's',
- Typedef = 't',
- Union = 'u',
- Variable = 'v',
- ExternalVariable = 'x',
- Unknown = ' '
- }
-
- public enum AccessModifier {
- Private,
- Protected,
- Public
- }
-
- public class Tag
- {
- private string name;
- private string file;
- private UInt64 line;
- private TagKind kind;
- private AccessModifier access;
- private string field_class;
- private string field_namespace;
- private string field_struct;
- private string field_union;
- private string field_enum;
- private string field_signature;
-
- public Tag (string name,
- string file,
- UInt64 line,
- TagKind kind,
- AccessModifier access,
- string field_class,
- string field_namespace,
- string field_struct,
- string field_union,
- string field_enum,
- string field_signature)
- {
- this.name = name;
- this.file = file;
- this.line = line;
- this.kind = kind;
- this.access = access;
- this.field_class = field_class;
- this.field_namespace = field_namespace;
- this.field_struct = field_struct;
- this.field_union = field_union;
- this.field_enum = field_enum;
- this.field_signature = field_signature;
- }
-
- public string Name {
- get { return name; }
- }
-
- public string File {
- get { return file; }
- }
-
- public UInt64 Line {
- get { return line; }
- }
-
- public TagKind Kind {
- get { return kind; }
- }
-
- public AccessModifier Access {
- get { return access; }
- }
-
- public string Class {
- get { return field_class; }
- }
-
- public string Namespace {
- get { return field_namespace; }
- }
-
- public string Structure {
- get { return field_struct; }
- }
-
- public string Union {
- get { return field_union; }
- }
-
- public string Enum {
- get { return field_enum; }
- }
-
- public string Signature {
- get { return field_signature; }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/TagDatabaseManager.cs b/main/src/addins/CBinding/Parser/TagDatabaseManager.cs
deleted file mode 100644
index ffeb11d37e..0000000000
--- a/main/src/addins/CBinding/Parser/TagDatabaseManager.cs
+++ /dev/null
@@ -1,502 +0,0 @@
-//
-// TagDatabaseManager.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-// Mitchell Wheeler <mitchell.wheeler@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Text.RegularExpressions;
-using System.Collections.Generic;
-using System.Threading;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Ide.Gui;
-
-using CBinding.Navigation;
-
-// TODO
-// Generic, language independant 'TagDatabaseManager'
-// Parsing of ctags data into a Sqlite database, for easy/efficient access & updates.
-//
-namespace CBinding.Parser
-{
- /// <summary>
- /// Singleton class to manage tag databases
- /// </summary>
- class TagDatabaseManager
- {
- private static TagDatabaseManager instance;
- private Queue<ProjectFilePair> parsingJobs = new Queue<ProjectFilePair> ();
- private Thread parsingThread;
- private CTagsManager ctags;
-
- public event ClassPadEventHandler FileUpdated;
-
- bool ctagsInstalled = false;
- bool checkedCtagsInstalled = false;
-
- private TagDatabaseManager()
- {
- }
-
- public static TagDatabaseManager Instance
- {
- get {
- if (instance == null)
- instance = new TagDatabaseManager ();
-
- return instance;
- }
- }
-
- public bool DepsInstalled {
- get {
- if (!checkedCtagsInstalled) {
- checkedCtagsInstalled = true;
-
- try {
- var output = new StringWriter ();
- Runtime.ProcessService.StartProcess (CTagsManager.CTagsExecutable, "--version", null, output, null, null).WaitForExit ();
- if (Platform.IsMac && !output.ToString ().StartsWith ("Exuberant", StringComparison.Ordinal)) {
- System.Console.WriteLine ("Fallback to OSX ctags");
- ctags = new BsdCTagsManager ();
- } else {
- ctags = new ExuberantCTagsManager ();
- }
- } catch {
- LoggingService.LogWarning ("Cannot update C/C++ tags database because exuberant ctags is not installed.");
- return false;
- }
- try {
- Runtime.ProcessService.StartProcess ("gcc", "--version", null, null).WaitForOutput ();
- } catch {
- LoggingService.LogWarning ("Cannot update C/C++ tags database because gcc is not installed.");
- return false;
- }
- lock (parsingJobs) {
- ctagsInstalled = true;
- }
- }
- return ctagsInstalled && ctags != null;
- }
- set {
- //don't assume that the caller is correct :-)
- if (value)
- checkedCtagsInstalled = false; //wil re-determine ctagsInstalled on next getting
- else
- ctagsInstalled = false;
- }
- }
-
- private string[] Headers (Project project, string filename, bool with_system)
- {
- List<string> headers = new List<string> ();
- CProject cproject = project as CProject;
- if (cproject == null){ return headers.ToArray(); }
-
- StringBuilder output = new StringBuilder ();
- StringBuilder option = new StringBuilder ("-M");
- if (!with_system) {
- option.Append("M");
- }
-
- option.Append (" -MG ");
- foreach (Package package in cproject.Packages) {
- package.ParsePackage ();
- option.AppendFormat ("{0} ", string.Join(" ", package.CFlags.ToArray ()));
- }
-
- ProcessWrapper p = null;
- try {
- p = Runtime.ProcessService.StartProcess ("gcc", option.ToString () + filename.Replace(@"\ ", " ").Replace(" ", @"\ "), null, null);
- p.WaitForOutput ();
-
- // Doing the below completely breaks header parsing
- // // Skip first two lines (.o & .c* files) - WARNING, sometimes this is compacted to 1 line... we need a better way of handling this.
- // if(p.StandardOutput.ReadLine () == null) return new string[0]; // object file
- // if(p.StandardOutput.ReadLine () == null) return new string[0]; // compile file
-
- string line;
- while ((line = p.StandardOutput.ReadLine ()) != null)
- output.Append (line);
- } catch (Exception ex) {
- LoggingService.LogError (ex.ToString ());
- return new string [0];
- }
- finally {
- if(p != null)
- p.Dispose();
- }
-
- MatchCollection files = Regex.Matches(output.ToString().Replace(@" \", String.Empty), @" (?<file>([^ \\]|(\\ ))+)", RegexOptions.IgnoreCase);
-
- foreach (Match match in files) {
- string depfile = findFileInIncludes(project, match.Groups["file"].Value.Trim());
-
- headers.Add (depfile.Replace(@"\ ", " ").Replace(" ", @"\ "));
- }
-
- return headers.ToArray ();
- }
-
- /// <summary>
- /// Finds a file in a project's include path(s)
- /// </summary>
- /// <param name="project">
- /// The project whose include path is to be searched
- /// <see cref="Project"/>
- /// </param>
- /// <param name="filename">
- /// A portion of a full file path
- /// <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// The full found path, or filename if not found
- /// <see cref="System.String"/>
- /// </returns>
- private static string findFileInIncludes (Project project, string filename) {
- CProjectConfiguration conf = project.DefaultConfiguration as CProjectConfiguration;
- string fullpath = string.Empty;
-
- if (!Path.IsPathRooted (filename)) {
- // Check against base directory
- fullpath = findFileInPath (filename, project.BaseDirectory);
- if (string.Empty != fullpath) return fullpath;
-
- if (conf != null) {
- // Check project's additional configuration includes
- foreach (string p in conf.Includes) {
- fullpath = findFileInPath (filename, p);
- if (string.Empty != fullpath) return fullpath;
- }
- }
- }
-
- return filename;
- }
-
- /// <summary>
- /// Finds a file in a subdirectory of a given path
- /// </summary>
- /// <param name="relativeFilename">
- /// A portion of a full file path
- /// <see cref="System.String"/>
- /// </param>
- /// <param name="path">
- /// The path beneath which to look for relativeFilename
- /// <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// The full path, or string.Empty if not found
- /// <see cref="System.String"/>
- /// </returns>
- private static string findFileInPath (string relativeFilename, string path) {
- string tmp = Path.Combine (path, relativeFilename);
-
- if (Path.IsPathRooted (relativeFilename))
- return relativeFilename;
- else if (File.Exists (tmp))
- return tmp;
-
- if (Directory.Exists (path)) {
- foreach (string subdir in Directory.GetDirectories (path)) {
- tmp = findFileInPath (relativeFilename, subdir);
- if (string.Empty != tmp) return tmp;
- }
- }
-
- return string.Empty;
- }
-
- private void UpdateSystemTags (Project project, string filename, IEnumerable<string> includedFiles)
- {
- if (!DepsInstalled)
- return;
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- List<FileInformation> files;
-
- lock (info) {
- if (!info.IncludedFiles.ContainsKey (filename)) {
- files = new List<FileInformation> ();
- info.IncludedFiles.Add (filename, files);
- } else {
- files = info.IncludedFiles[filename];
- }
-
- foreach (string includedFile in includedFiles) {
- bool contains = false;
-
- foreach (FileInformation fi in files) {
- if (fi.FileName == includedFile) {
- contains = true;
- }
- }
-
- if (!contains) {
- FileInformation newFileInfo = new FileInformation (project, includedFile);
- files.Add (newFileInfo);
- ctags.FillFileInformation (newFileInfo);
- }
-
- contains = false;
- }
- }
- }
-
- private void ParsingThread ()
- {
- try {
- while (parsingJobs.Count > 0) {
- ProjectFilePair p;
-
- lock (parsingJobs) {
- p = parsingJobs.Dequeue ();
- }
-
- string[] headers = Headers (p.Project, p.File, false);
- ctags.DoUpdateFileTags (p.Project, p.File, headers);
- OnFileUpdated (new ClassPadEventArgs (p.Project));
-
- if (PropertyService.Get<bool> ("CBinding.ParseSystemTags", true))
- UpdateSystemTags (p.Project, p.File, Headers (p.Project, p.File, true).Except (headers));
-
- if (cache.Count > cache_size)
- cache.Clear ();
- }
- } catch (Exception ex) {
- LoggingService.LogError ("Unhandled error updating parser database. Disabling C/C++ parsing.", ex);
- DepsInstalled = false;
- return;
- }
- }
-
- public void UpdateFileTags (Project project, string filename)
- {
- if (!DepsInstalled)
- return;
-
- ProjectFilePair p = new ProjectFilePair (project, filename);
-
- lock (parsingJobs) {
- if (!parsingJobs.Contains (p))
- parsingJobs.Enqueue (p);
- }
-
- if (parsingThread == null || !parsingThread.IsAlive) {
- parsingThread = new Thread (ParsingThread);
- parsingThread.Name = "Tag database parser";
- parsingThread.IsBackground = true;
- parsingThread.Priority = ThreadPriority.Lowest;
- parsingThread.Start();
- }
- }
-
- Tag BinarySearch (string[] ctags_lines, TagKind kind, string name)
- {
- int low;
- int high = ctags_lines.Length - 2; // last element is an empty string (because of the Split)
- int mid;
- int start_index = 0;
-
- // Skip initial comment lines
- while (ctags_lines[start_index].StartsWith ("!_"))
- start_index++;
-
- low = start_index;
-
- while (low <= high) {
- mid = (low + high) / 2;
- string entry = ctags_lines[mid];
- string tag_name = entry.Substring (0, entry.IndexOf ('\t'));
- int res = string.CompareOrdinal (tag_name, name);
-
- if (res < 0) {
- low = mid + 1;
- } else if (res > 0) {
- high = mid - 1;
- } else {
- // The tag we are at has the same name than the one we are looking for
- // but not necessarily the same type, the actual tag we are looking
- // for might be higher up or down, so we try both, starting with going down.
- int save = mid;
- bool going_down = true;
- bool eof = false;
-
- while (true) {
- Tag tag = ctags.ParseTag (entry);
-
- if (tag == null)
- return null;
-
- if (tag.Kind == kind && tag_name == name)
- return tag;
-
- if (going_down) {
- mid++;
-
- if (mid >= ctags_lines.Length - 1)
- eof = true;
-
- if (!eof) {
- entry = ctags_lines[mid];
- tag_name = entry.Substring (0, entry.IndexOf ('\t'));
-
- if (tag_name != name) {
- going_down = false;
- mid = save - 1;
- }
- } else {
- going_down = false;
- mid = save - 1;
- }
- } else { // going up
- mid--;
-
- if (mid < start_index)
- return null;
-
- entry = ctags_lines[mid];
- tag_name = entry.Substring (0, entry.IndexOf ('\t'));
-
- if (tag_name != name)
- return null;
- }
- }
- }
- }
-
- return null;
- }
-
- private struct SemiTag
- {
- readonly internal string name;
- readonly internal TagKind kind;
-
- internal SemiTag (string name, TagKind kind)
- {
- this.name = name;
- this.kind = kind;
- }
-
- public override int GetHashCode ()
- {
- return (name + kind.ToString ()).GetHashCode ();
- }
- }
-
- private const int cache_size = 10000;
- private Dictionary<SemiTag, Tag> cache = new Dictionary<SemiTag, Tag> ();
-
- public Tag FindTag (string name, TagKind kind, string ctags_output)
- {
- SemiTag semiTag = new SemiTag (name, kind);
-
- if (cache.ContainsKey (semiTag))
- return cache[semiTag];
- else {
- string[] ctags_lines = ctags_output.Split ('\n');
- Tag tag = BinarySearch (ctags_lines, kind, name);
- cache.Add (semiTag, tag);
-
- return tag;
- }
- }
-
- /// <summary>
- /// Remove a file's parse information from the database.
- /// </summary>
- /// <param name="project">
- /// A <see cref="Project"/>: The project to which the file belongs.
- /// </param>
- /// <param name="filename">
- /// A <see cref="System.String"/>: The file.
- /// </param>
- public void RemoveFileInfo(Project project, string filename)
- {
- ProjectInformation info = ProjectInformationManager.Instance.Get (project);
- lock (info){ info.RemoveFileInfo(filename); }
- OnFileUpdated(new ClassPadEventArgs (project));
- }
-
- /// <summary>
- /// Wrapper method for the FileUpdated event.
- /// </summary>
- void OnFileUpdated (ClassPadEventArgs args)
- {
- Runtime.RunInMainThread (() => {
- if (null != FileUpdated)
- FileUpdated(args);
- });
- }
-
- private class ProjectFilePair
- {
- string file;
- Project project;
-
- public ProjectFilePair (Project project, string file)
- {
- this.project = project;
- this.file = file;
- }
-
- public string File {
- get { return file; }
- }
-
- public Project Project {
- get { return project; }
- }
-
- public override bool Equals (object other)
- {
- ProjectFilePair o = other as ProjectFilePair;
-
- if (o == null)
- return false;
-
- if (file == o.File && project == o.Project)
- return true;
- else
- return false;
- }
-
- public override int GetHashCode ()
- {
- return (project.ToString() + file).GetHashCode ();
- }
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Typedef.cs b/main/src/addins/CBinding/Parser/Typedef.cs
deleted file mode 100644
index 09b3e7f390..0000000000
--- a/main/src/addins/CBinding/Parser/Typedef.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Typedef.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Typedef : LanguageItem
- {
- public Typedef (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Parser/Union.cs b/main/src/addins/CBinding/Parser/Union.cs
deleted file mode 100644
index d569111f41..0000000000
--- a/main/src/addins/CBinding/Parser/Union.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Union.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Union : LanguageItem
- {
- public Union (Tag tag, Project project, string ctags_output) : base (tag, project)
- {
- if (GetNamespace (tag, ctags_output)) return;
- if (GetClass (tag, ctags_output)) return;
- if (GetStructure (tag, ctags_output)) return;
- if (GetUnion (tag, ctags_output)) return;
- }
- }
-} \ No newline at end of file
diff --git a/main/src/addins/CBinding/Parser/Variable.cs b/main/src/addins/CBinding/Parser/Variable.cs
deleted file mode 100644
index bc9179b823..0000000000
--- a/main/src/addins/CBinding/Parser/Variable.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// Variable.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Projects;
-
-namespace CBinding.Parser
-{
- public class Variable : LanguageItem
- {
- public Variable (Tag tag, Project project) : base (tag, project)
- {
- }
- }
-}
diff --git a/main/src/addins/CBinding/Project/CProject.cs b/main/src/addins/CBinding/Project/CProject.cs
deleted file mode 100644
index bc99d6d6a4..0000000000
--- a/main/src/addins/CBinding/Project/CProject.cs
+++ /dev/null
@@ -1,563 +0,0 @@
-//
-// CProject.cs: C/C++ Project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Xml;
-using System.Collections.Generic;
-using System.ComponentModel;
-
-using Mono.Addins;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Execution;
-using MonoDevelop.Core.ProgressMonitoring;
-using MonoDevelop.Projects;
-using MonoDevelop.Core.Serialization;
-using MonoDevelop.Deployment;
-using MonoDevelop.Deployment.Linux;
-using CBinding.Parser;
-using MonoDevelop.Ide;
-using System.Threading.Tasks;
-
-namespace CBinding
-{
- public enum Language {
- C,
- CPP,
- OBJC,
- OBJCPP
- }
-
- public enum CProjectCommands {
- AddPackage,
- UpdateClassPad,
- ShowPackageDetails,
- GotoDeclaration,
- }
-
- [ExportProjectType ("{2857B73E-F847-4B02-9238-064979017E93}", Extension="cproj", Alias="C/C++")]
- public class CProject : Project, IDeployable
- {
- [ItemProperty ("Compiler", ValueType = typeof(CCompiler))]
- private ICompiler compiler_manager;
-
- [ItemProperty ("Language")]
- private Language language;
-
- [ItemProperty("Target")]
- CBinding.CompileTarget target = CBinding.CompileTarget.Bin;
-
- private ProjectPackageCollection packages = new ProjectPackageCollection ();
-
- public event ProjectPackageEventHandler PackageAddedToProject;
- public event ProjectPackageEventHandler PackageRemovedFromProject;
-
- /// <summary>
- /// Extensions for C/C++ source files
- /// </summary>
- public static string[] SourceExtensions = { ".C", ".CC", ".CPP", ".CXX", ".M", ".MM" };
-
- /// <summary>
- /// Extensions for C/C++ header files
- /// </summary>
- public static string[] HeaderExtensions = { ".H", ".HH", ".HPP", ".HXX" };
-
- private void Init ()
- {
- packages.Project = this;
-
- if (IdeApp.IsInitialized)
- IdeApp.Workspace.ItemAddedToSolution += OnEntryAddedToCombine;
- }
-
- public CProject ()
- {
- Init ();
- }
-
- public CProject (ProjectCreateInformation info,
- XmlElement projectOptions, string language)
- {
- Init ();
- string binPath = ".";
-
- if (info != null) {
- Name = info.ProjectName;
- binPath = info.BinPath;
- }
-
- switch (language)
- {
- case "C":
- this.language = Language.C;
- break;
- case "CPP":
- this.language = Language.CPP;
- break;
- case "Objective C":
- this.language = Language.OBJC;
- break;
- case "Objective C++":
- this.language = Language.OBJCPP;
- break;
- }
-
- Compiler = null; // use default compiler depending on language
-
- CProjectConfiguration configuration =
- (CProjectConfiguration)CreateConfiguration ("Debug");
-
- configuration.DefineSymbols = "DEBUG MONODEVELOP";
- configuration.DebugSymbols = true;
-
- Configurations.Add (configuration);
-
- configuration =
- (CProjectConfiguration)CreateConfiguration ("Release");
-
- configuration.DebugSymbols = false;
- configuration.OptimizationLevel = 3;
- configuration.DefineSymbols = "MONODEVELOP";
- Configurations.Add (configuration);
-
- foreach (CProjectConfiguration c in Configurations) {
- c.OutputDirectory = Path.Combine (binPath, c.Id);
- c.SourceDirectory = info.ProjectBasePath;
- c.Output = Name;
-
- if (projectOptions != null) {
- if (projectOptions.Attributes["Target"] != null) {
- c.CompileTarget = (CBinding.CompileTarget)Enum.Parse (
- typeof(CBinding.CompileTarget),
- projectOptions.Attributes["Target"].InnerText);
- }
- if (projectOptions.GetAttribute ("ExternalConsole") == "True") {
- c.ExternalConsole = true;
- c.PauseConsoleOutput = true;
- }
- if (projectOptions.Attributes["PauseConsoleOutput"] != null) {
- c.PauseConsoleOutput = bool.Parse (
- projectOptions.Attributes["PauseConsoleOutput"].InnerText);
- }
- if (projectOptions.Attributes["CompilerArgs"].InnerText != null) {
- c.ExtraCompilerArguments = projectOptions.Attributes["CompilerArgs"].InnerText;
- }
- if (projectOptions.Attributes["LinkerArgs"].InnerText != null) {
- c.ExtraLinkerArguments = projectOptions.Attributes["LinkerArgs"].InnerText;
- }
- }
- }
- }
-
- protected override string[] OnGetSupportedLanguages ()
- {
- return new string[] { "C", "CPP", "Objective C", "Objective C++" };
- }
-
- public CompileTarget CompileTarget {
- get { return target; }
- set { target = value; }
- }
-
- protected override bool OnGetIsCompileable (string fileName)
- {
- string ext = Path.GetExtension (fileName.ToUpper ());
-
- if (language == Language.C) {
- return (ext == ".C");
- } else {
- return (0 <= Array.IndexOf (SourceExtensions, ext));
- }
- }
-
- protected override IEnumerable<SolutionItem> OnGetReferencedItems (ConfigurationSelector configuration)
- {
- foreach (var p in base.GetReferencedItems (configuration))
- yield return p;
-
- if (ParentSolution == null)
- yield break;
-
- foreach (Package p in Packages) {
- if (p.IsProject && p.Name != Name) {
- var cp = ParentSolution.FindProjectByName (p.Name) as CProject;
- if (cp != null)
- yield return cp;
- }
- }
- }
-
- public static bool IsHeaderFile (string filename)
- {
- return (0 <= Array.IndexOf (HeaderExtensions, Path.GetExtension (filename.ToUpper ())));
- }
-
- /// <summary>
- /// Ths pkg-config package is for internal MonoDevelop use only, it is not deployed.
- /// </summary>
- public void WriteMDPkgPackage (ConfigurationSelector configuration)
- {
- string pkgfile = Path.Combine (BaseDirectory, Name + ".md.pc");
-
- CProjectConfiguration config = (CProjectConfiguration)GetConfiguration (configuration);
-
- List<string> headerDirectories = new List<string> ();
-
- foreach (ProjectFile f in Files) {
- if (IsHeaderFile (f.Name)) {
- string dir = Path.GetDirectoryName (f.FilePath);
-
- if (!headerDirectories.Contains (dir)) {
- headerDirectories.Add (dir);
- }
- }
- }
-
- using (StreamWriter writer = new StreamWriter (pkgfile)) {
- writer.WriteLine ("Name: {0}", Name);
- writer.WriteLine ("Description: {0}", Description);
- writer.WriteLine ("Version: {0}", Version);
- writer.WriteLine ("Libs: -L\"{0}\" -l{1}", config.OutputDirectory, config.Output.StartsWith ("lib", StringComparison.OrdinalIgnoreCase)?
- config.Output.Substring (3):
- config.Output);
-// writer.WriteLine ("Cflags: -I{0}", BaseDirectory);
- writer.WriteLine ("Cflags: -I\"{0}\"", string.Join ("\" -I\"", headerDirectories.ToArray ()));
- }
-
- // If this project compiles into a shared object we need to
- // export the output path to the LD_LIBRARY_PATH
- string literal = "LD_LIBRARY_PATH";
- string ld_library_path = Environment.GetEnvironmentVariable (literal);
-
- if (string.IsNullOrEmpty (ld_library_path)) {
- Environment.SetEnvironmentVariable (literal, config.OutputDirectory);
- } else if (!ld_library_path.Contains (config.OutputDirectory)) {
- ld_library_path = string.Format ("{0}:{1}", config.OutputDirectory, ld_library_path);
- Environment.SetEnvironmentVariable (literal, ld_library_path);
- }
- }
-
- /// <summary>
- /// This is the pkg-config package that gets deployed.
- /// <returns>The pkg-config package's filename</returns>
- /// </summary>
- private string WriteDeployablePgkPackage (Project project, CProjectConfiguration config)
- {
- // FIXME: This should probably be grabed from somewhere.
- string prefix = "/usr/local";
- string pkgfile = Path.Combine (BaseDirectory, Name + ".pc");
-
- using (StreamWriter writer = new StreamWriter (pkgfile)) {
- writer.WriteLine ("prefix={0}", prefix);
- writer.WriteLine ("exec_prefix=${prefix}");
- writer.WriteLine ("libdir=${exec_prefix}/lib");
- writer.WriteLine ("includedir=${prefix}/include");
- writer.WriteLine ();
- writer.WriteLine ("Name: {0}", Name);
- writer.WriteLine ("Description: {0}", Description);
- writer.WriteLine ("Version: {0}", Version);
- writer.WriteLine ("Requires: {0}", string.Join (" ", Packages.ToStringArray ()));
- // TODO: How should I get this?
- writer.WriteLine ("Conflicts: {0}", string.Empty);
- writer.Write ("Libs: -L${libdir} ");
- writer.WriteLine ("-l{0}", config.Output.StartsWith ("lib", StringComparison.OrdinalIgnoreCase)?
- config.Output.Substring (3):
- config.Output);
- writer.Write ("Cflags: -I${includedir}/");
- writer.WriteLine ("{0} {1}", Name, Compiler.GetDefineFlags (project, config));
- }
-
- return pkgfile;
- }
-
- protected override Task<BuildResult> DoBuild (ProgressMonitor monitor, ConfigurationSelector configuration)
- {
- CProjectConfiguration pc = (CProjectConfiguration) GetConfiguration (configuration);
- pc.SourceDirectory = BaseDirectory;
-
- return Task<BuildResult>.Factory.StartNew (delegate {
- if (pc.CompileTarget != CompileTarget.Bin)
- WriteMDPkgPackage (configuration);
-
- return compiler_manager.Compile (this,
- Files, packages,
- pc,
- monitor);
- });
- }
-
- protected async override Task<BuildResult> OnClean (ProgressMonitor monitor, ConfigurationSelector configuration, OperationContext operationContext)
- {
- CProjectConfiguration conf = (CProjectConfiguration) GetConfiguration (configuration);
-
- var res = await base.OnClean (monitor, configuration, operationContext);
- if (res.HasErrors)
- return res;
-
- await Task.Run (() => Compiler.Clean (Files, conf, monitor));
-
- return res;
- }
-
- protected virtual ExecutionCommand CreateExecutionCommand (CProjectConfiguration conf)
- {
- string app = Path.Combine (conf.OutputDirectory, conf.Output);
- NativeExecutionCommand cmd = new NativeExecutionCommand (app);
- cmd.Arguments = conf.CommandLineParameters;
- cmd.WorkingDirectory = Path.GetFullPath (conf.OutputDirectory);
- cmd.EnvironmentVariables = conf.EnvironmentVariables;
- return cmd;
- }
-
- protected override bool OnGetCanExecute (ExecutionContext context, ConfigurationSelector solutionConfiguration)
- {
- CProjectConfiguration conf = (CProjectConfiguration) GetConfiguration (solutionConfiguration);
- ExecutionCommand cmd = CreateExecutionCommand (conf);
- return (target == CBinding.CompileTarget.Bin) && context.ExecutionHandler.CanExecute (cmd);
- }
-
- protected async override Task DoExecute (ProgressMonitor monitor, ExecutionContext context, ConfigurationSelector configuration)
- {
- CProjectConfiguration conf = (CProjectConfiguration) GetConfiguration (configuration);
- bool pause = conf.PauseConsoleOutput;
- OperationConsole console;
-
- if (conf.CompileTarget != CBinding.CompileTarget.Bin) {
- MessageService.ShowMessage ("Compile target is not an executable!");
- return;
- }
-
- monitor.Log.WriteLine ("Running project...");
-
- if (conf.ExternalConsole)
- console = context.ExternalConsoleFactory.CreateConsole (!pause, monitor.CancellationToken);
- else
- console = context.ConsoleFactory.CreateConsole (monitor.CancellationToken);
-
- try {
- ExecutionCommand cmd = CreateExecutionCommand (conf);
- if (!context.ExecutionHandler.CanExecute (cmd)) {
- monitor.ReportError ("Cannot execute \"" + conf.Output + "\". The selected execution mode is not supported for C projects.", null);
- return;
- }
-
- ProcessAsyncOperation op = context.ExecutionHandler.Execute (cmd, console);
- using (var t = monitor.CancellationToken.Register (op.Cancel))
- await op.Task;
-
- monitor.Log.WriteLine ("The operation exited with code: {0}", op.ExitCode);
- } catch (Exception ex) {
- LoggingService.LogError (string.Format ("Cannot execute \"{0}\"", conf.Output), ex);
- monitor.ReportError ("Cannot execute \"" + conf.Output + "\"", ex);
- } finally {
- console.Dispose ();
- }
- }
-
- protected override FilePath OnGetOutputFileName (ConfigurationSelector configuration)
- {
- CProjectConfiguration conf = (CProjectConfiguration) GetConfiguration (configuration);
- return conf.OutputDirectory.Combine (conf.CompiledOutputName);
- }
-
- protected override SolutionItemConfiguration OnCreateConfiguration (string id, ConfigurationKind kind)
- {
- return new CProjectConfiguration (id);
- }
-
- public Language Language {
- get { return language; }
- set { language = value; }
- }
-
- public ICompiler Compiler {
- get { return compiler_manager; }
- set {
- if (value != null) {
- compiler_manager = value;
- } else {
- object[] compilers = AddinManager.GetExtensionObjects ("/CBinding/Compilers");
- string compiler;
-
- // TODO: This should depend on platform (eg: windows would be mingw or msvc)
- if (language == Language.C)
- compiler = PropertyService.Get ("CBinding.DefaultCCompiler", new GccCompiler ().Name);
- else
- compiler = PropertyService.Get ("CBinding.DefaultCppCompiler", new GppCompiler ().Name);
-
- foreach (ICompiler c in compilers) {
- if (compiler == c.Name) {
- compiler_manager = c;
- }
- }
- }
- }
- }
-
- // TODO NPM: not supported
- [Browsable(false)]
- [ItemProperty ("Packages")]
- public ProjectPackageCollection Packages {
- get { return packages; }
- set {
- packages = value;
- packages.Project = this;
- }
- }
-
- protected override void OnFileAddedToProject (ProjectFileEventArgs args)
- {
- base.OnFileAddedToProject (args);
-
- foreach (ProjectFileEventInfo e in args) {
- if (!Loading && !IsCompileable (e.ProjectFile.Name) &&
- e.ProjectFile.BuildAction == BuildAction.Compile) {
- e.ProjectFile.BuildAction = BuildAction.None;
- }
-
- if (e.ProjectFile.BuildAction == BuildAction.Compile)
- TagDatabaseManager.Instance.UpdateFileTags (this, e.ProjectFile.Name);
- }
- }
-
- protected override void OnFileChangedInProject (ProjectFileEventArgs e)
- {
- base.OnFileChangedInProject (e);
-
- foreach (ProjectFileEventInfo fe in e)
- TagDatabaseManager.Instance.UpdateFileTags (this, fe.ProjectFile.Name);
- }
-
- protected override void OnFileRemovedFromProject (ProjectFileEventArgs e)
- {
- base.OnFileRemovedFromProject (e);
-
- foreach (ProjectFileEventInfo fe in e)
- TagDatabaseManager.Instance.RemoveFileInfo (this, fe.ProjectFile.Name);
- }
-
-
- private static void OnEntryAddedToCombine (object sender, SolutionItemEventArgs e)
- {
- CProject p = e.SolutionItem as CProject;
-
- if (p == null)
- return;
-
- foreach (ProjectFile f in p.Files)
- TagDatabaseManager.Instance.UpdateFileTags (p, f.Name);
- }
-
- internal void NotifyPackageRemovedFromProject (Package package)
- {
- Runtime.AssertMainThread ();
- PackageRemovedFromProject (this, new ProjectPackageEventArgs (this, package));
- }
-
- internal void NotifyPackageAddedToProject (Package package)
- {
- Runtime.AssertMainThread ();
- PackageAddedToProject (this, new ProjectPackageEventArgs (this, package));
- }
-
- public DeployFileCollection GetDeployFiles (ConfigurationSelector configuration)
- {
- DeployFileCollection deployFiles = new DeployFileCollection ();
-
- CProjectConfiguration conf = (CProjectConfiguration) GetConfiguration (configuration);
- CompileTarget target = conf.CompileTarget;
-
- // Headers and resources
- foreach (ProjectFile f in Files) {
- if (f.BuildAction == BuildAction.Content) {
- string targetDirectory =
- (IsHeaderFile (f.Name) ? TargetDirectory.Include : TargetDirectory.ProgramFiles);
-
- deployFiles.Add (new DeployFile (this, f.FilePath, f.ProjectVirtualPath, targetDirectory));
- }
- }
-
- // Output
- string output = GetOutputFileName (configuration);
- if (!string.IsNullOrEmpty (output)) {
- string targetDirectory = string.Empty;
-
- switch (target) {
- case CompileTarget.Bin:
- targetDirectory = TargetDirectory.ProgramFiles;
- break;
- case CompileTarget.SharedLibrary:
- targetDirectory = TargetDirectory.ProgramFiles;
- break;
- case CompileTarget.StaticLibrary:
- targetDirectory = TargetDirectory.ProgramFiles;
- break;
- }
-
- deployFiles.Add (new DeployFile (this, output, Path.GetFileName (output), targetDirectory));
- }
-
- // PkgPackage
- if (target != CompileTarget.Bin) {
- string pkgfile = WriteDeployablePgkPackage (this, conf);
- deployFiles.Add (new DeployFile (this, Path.Combine (BaseDirectory, pkgfile), pkgfile, LinuxTargetDirectory.PkgConfig));
- }
-
- return deployFiles;
- }
-
- /// <summary>
- /// Finds the corresponding source or header file
- /// </summary>
- /// <param name="sourceFile">
- /// The name of the file to be matched
- /// <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// The corresponding file, or null if not found
- /// <see cref="System.String"/>
- /// </returns>
- public string MatchingFile (string sourceFile) {
- string filenameStub = Path.GetFileNameWithoutExtension (sourceFile);
- bool wantHeader = !CProject.IsHeaderFile (sourceFile);
-
- foreach (ProjectFile file in this.Files) {
- if (filenameStub == Path.GetFileNameWithoutExtension (file.Name)
- && (wantHeader == IsHeaderFile (file.Name))) {
- return file.Name;
- }
- }
-
- return null;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Project/CProjectConfiguration.cs b/main/src/addins/CBinding/Project/CProjectConfiguration.cs
deleted file mode 100644
index 63973e796f..0000000000
--- a/main/src/addins/CBinding/Project/CProjectConfiguration.cs
+++ /dev/null
@@ -1,233 +0,0 @@
-//
-// CProjectConfiguration.cs: Configuration for C/C++ projects
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-using Mono.Addins;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Core.Serialization;
-
-namespace CBinding
-{
- public enum CompileTarget {
- Bin,
- StaticLibrary,
- SharedLibrary
- };
-
- // TODO: Warning levels should be compiler specific...
- public enum WarningLevel {
- None,
- Normal,
- All
- }
-
- // I believe it would be in the C/C++ binding's best interest to let the configuration determine
- // which compiler to use... currently the project as a whole does this - which isn't necessarily as flexible
- // as some may require...
- public class CProjectConfiguration : ProjectConfiguration
- {
- [ItemProperty("OutputName")]
- string output = string.Empty;
-
- [ItemProperty("CompileTarget")]
- CBinding.CompileTarget target = CBinding.CompileTarget.Bin;
-
- [ItemProperty ("Includes")]
- [ItemProperty ("Include", Scope = "*", ValueType = typeof(string))]
- private ArrayList includes = new ArrayList ();
-
- [ItemProperty ("LibPaths")]
- [ItemProperty ("LibPath", Scope = "*", ValueType = typeof(string))]
- private ArrayList libpaths = new ArrayList ();
-
- [ItemProperty ("Libs")]
- [ItemProperty ("Lib", Scope = "*", ValueType = typeof(string))]
- private ArrayList libs = new ArrayList ();
-
- [ItemProperty ("WarningLevel", DefaultValue=WarningLevel.Normal)]
- private WarningLevel warning_level = WarningLevel.Normal;
-
- [ItemProperty ("WarningsAsErrors", DefaultValue=false)]
- private bool warnings_as_errors = false;
-
- [ItemProperty ("OptimizationLevel", DefaultValue=0)]
- private int optimization = 0;
-
- [ItemProperty ("ExtraCompilerArguments", DefaultValue="")]
- private string extra_compiler_args = string.Empty;
-
- [ItemProperty ("ExtraLinkerArguments", DefaultValue="")]
- private string extra_linker_args = string.Empty;
-
- [ItemProperty ("DefineSymbols", DefaultValue="")]
- private string define_symbols = string.Empty;
-
- [ProjectPathItemProperty ("SourceDirectory", DefaultValue=null)]
- private string source_directory_path;
-
- [ItemProperty ("UseCcache", DefaultValue=false)]
- private bool use_ccache = false;
-
- [ItemProperty ("PrecompileHeaders", DefaultValue=true)]
- private bool precompileHeaders = true;
-
- public CProjectConfiguration (string id) : base (id)
- {
- }
-
- public string Output {
- get { return output; }
- set { output = value; }
- }
-
- public CompileTarget CompileTarget {
- get { return target; }
- set { target = value; }
- }
-
- // TODO: This should be revised to use the naming conventions depending on OS & compiler...
- public string CompiledOutputName {
- get {
- string suffix = string.Empty;
- string prefix = string.Empty;
-
- switch (target)
- {
- case CompileTarget.Bin:
- break;
- case CompileTarget.StaticLibrary:
- if (!Output.StartsWith ("lib"))
- prefix = "lib";
- if (!Output.EndsWith (".a"))
- suffix = ".a";
- break;
- case CompileTarget.SharedLibrary:
- if (!Output.StartsWith ("lib"))
- prefix = "lib";
- if (!Output.EndsWith (".so"))
- suffix = ".so";
- break;
- }
-
- return string.Format("{0}{1}{2}", prefix, Output, suffix);
- }
- }
-
- public string SourceDirectory {
- get { return source_directory_path; }
- set { source_directory_path = value; }
- }
-
- public ArrayList Includes {
- get { return includes; }
- set { includes = value; }
- }
-
- public ArrayList LibPaths {
- get { return libpaths; }
- set { libpaths = value; }
- }
-
- public ArrayList Libs {
- get { return libs; }
- set { libs = value; }
- }
-
- public bool UseCcache {
- get { return use_ccache; }
- set { use_ccache = value; }
- }
-
- public bool PrecompileHeaders {
- get { return precompileHeaders; }
- set { precompileHeaders = value; }
- }
-
- public WarningLevel WarningLevel {
- get { return warning_level; }
- set { warning_level = value; }
- }
-
- public bool WarningsAsErrors {
- get { return warnings_as_errors; }
- set { warnings_as_errors = value; }
- }
-
- public int OptimizationLevel {
- get { return optimization; }
- set {
- if (value >= 0 && value <= 3)
- optimization = value;
- else
- optimization = 0;
- }
- }
-
- public string ExtraCompilerArguments {
- get { return extra_compiler_args; }
- set { extra_compiler_args = value; }
- }
-
- public string ExtraLinkerArguments {
- get { return extra_linker_args; }
- set { extra_linker_args = value; }
- }
-
- public string DefineSymbols {
- get { return define_symbols; }
- set { define_symbols = value; }
- }
-
- protected override void OnCopyFrom (ItemConfiguration configuration, bool isRename)
- {
- base.OnCopyFrom (configuration, isRename);
- CProjectConfiguration conf = (CProjectConfiguration)configuration;
-
- output = conf.output;
- target = conf.target;
- includes = conf.includes;
- libpaths = conf.libpaths;
- libs = conf.libs;
- source_directory_path = conf.source_directory_path;
- use_ccache = conf.use_ccache;
-
- warning_level = conf.warning_level;
- warnings_as_errors = conf.warnings_as_errors;
- optimization = conf.optimization;
- extra_compiler_args = conf.extra_compiler_args;
- extra_linker_args = conf.extra_linker_args;
- define_symbols = conf.define_symbols;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Project/Package.cs b/main/src/addins/CBinding/Project/Package.cs
deleted file mode 100644
index 33a91ce3b0..0000000000
--- a/main/src/addins/CBinding/Project/Package.cs
+++ /dev/null
@@ -1,323 +0,0 @@
-//
-// ProjectPackage.cs: A pkg-config package
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.Collections.Generic;
-
-using Mono.Addins;
-
-using MonoDevelop.Core;
-using MonoDevelop.Core.Serialization;
-
-namespace CBinding
-{
- public class Package
- {
- [ItemProperty ("file")]
- private string file;
-
- [ItemProperty ("name")]
- private string name;
-
- [ItemProperty ("IsProject")]
- private bool is_project;
-
- private string description;
- private string version;
- private List<string> requires = new List<string>();
- private List<string> libPaths = new List<string>();
- private List<string> libs = new List<string>();
- private List<string> cflags = new List<string>();
- private Dictionary<string, string> vars = new Dictionary<string,string> ();
-
- public Package (string file)
- {
- this.file = file;
- this.is_project = false;
-
- ParsePackageEssentials ();
- }
-
- public Package (CProject project)
- {
- name = project.Name;
- file = Path.Combine (project.BaseDirectory, name + ".md.pc");
- is_project = true;
-
- ParsePackageEssentials ();
- }
-
- public Package ()
- {
- }
-
- void ParsePackageEssentials ()
- {
- string line;
-
- using (StreamReader reader = new StreamReader (file)) {
- while ((line = reader.ReadLine ()) != null) {
- if (line.StartsWith ("Name")) {
- name = line.Split (':')[1].TrimStart ();
- continue;
- }
-
- if (line.StartsWith ("Version")) {
- version = line.Split (':')[1].TrimStart ();
- }
- }
- }
- }
-
- bool parsed = false;
- public void ParsePackage ()
- {
- if (parsed)
- return;
-
- string line;
-
- using (StreamReader reader = new StreamReader (file)) {
- while ((line = reader.ReadLine ()) != null) {
- if (line.StartsWith ("#"))
- continue;
-
- if (line.IndexOf ('=') >= 0)
- ParseVar (line);
-
- if (line.IndexOf (':') >= 0)
- ParseProperty (line);
- }
- }
-
- parsed = true;
- }
-
- void ParseVar (string line)
- {
- int i = line.IndexOf ('=');
- string key = line.Substring (0, i);
- string value = line.Substring (i+1, line.Length - i-1).Trim ();
- string parsedValue = StringParserService.Parse (value, CustomTags ());
-
- vars.Add (key, parsedValue);
- }
-
- void ParseProperty (string line)
- {
- int i = line.IndexOf (':');
- string key = line.Substring (0, i);
- string value = StringParserService.Parse (line.Substring (i+1, line.Length - i-1).Trim (), CustomTags ());
-
- if (value.Length <= 0)
- return;
-
- switch (key) {
- case "Name":
- name = value;
- break;
- case "Description":;
- description = ProcessDescription (value);
- break;
- case "Version":
- version = value;
- break;
- case "Requires":
- ParseRequires (value);
- break;
- case "Libs":
- ParseLibs (value);
- break;
- case "Cflags":
- ParseCFlags (value);
- break;
- }
- }
-
- void ParseRequires (string reqsline)
- {
- string[] splitted = reqsline.Split (' ');
-
- foreach (string str in splitted) {
- if (str.Trim () == string.Empty)
- continue;
- Requires.Add (str);
- }
- }
-
- void ParseLibs (string libline)
- {
- int i = 0;
- string lib;
-
- while (true) {
- i = libline.IndexOf ('-', i);
-
- if (i < 0)
- break;
-
- int count = 0;
-
- while (libline.Length > (count+i+2) && libline[count+i+2] != ' ')
- count++;
-
- lib = libline.Substring (i+2, count);
-
- if (libline[i+1] == 'L') {
- libPaths.Add (lib);
- } else if (libline[i+1] == 'l') {
- libs.Add (lib);
- }
-
- i++;
- }
- }
-
- void ParseCFlags (string cflagsline)
- {
- string[] splitted = cflagsline.Split (' ');
-
- foreach (string str in splitted) {
- if (str.Trim () == string.Empty)
- continue;
- CFlags.Add (str);
- }
- }
-
- /// <summary>
- /// Insert '\n's to make sure string isn't too long.
- /// </summary>
- /// <param name="desc">
- /// The unprocessed description.
- /// A <see cref="System.String"/>
- /// </param>
- /// <returns>
- /// The processed description.
- /// A <see cref="System.String"/>
- /// </returns>
- string ProcessDescription (string desc)
- {
- int length = 80;
-
- if (desc.Length <= length)
- return desc;
-
- StringBuilder builder = new StringBuilder (desc);
- int i = 0;
- int lines = 1;
-
- while (i < desc.Length) {
- i++;
-
- if (i > lines * length) {
- lines++;
-
- do {
- i--;
- } while (desc [i] != ' ');
-
- builder.Replace (' ', '\n', i, 1);
- }
- }
-
- return builder.ToString ();
- }
-
- Dictionary<string, string> CustomTags ()
- {
- Dictionary<string, string> customTags = new Dictionary<string, string> (StringComparer.InvariantCultureIgnoreCase);
- int i = 0;
-
- foreach (KeyValuePair<string, string> kvp in vars) {
- customTags.Add (kvp.Key, kvp.Value);
- i++;
- }
-
- return customTags;
- }
-
- public string File {
- get { return file; }
- set { file = value; }
- }
-
- public string Name {
- get { return name; }
- set { name = value; }
- }
-
- public bool IsProject {
- get { return is_project; }
- set { is_project = value; }
- }
-
- public string Version {
- get { return version; }
- set { version = value; }
- }
-
- public string Description {
- get { return description; }
- }
-
- public List<string> Requires {
- get { return requires; }
- }
-
- public List<string> LibPaths {
- get { return libPaths; }
- }
-
- public List<string> Libs {
- get { return libs; }
- }
-
- public List<string> CFlags {
- get { return cflags; }
- }
-
- public override bool Equals (object o)
- {
- Package other = o as Package;
-
- if (other == null) return false;
-
- return other.File.Equals (file);
- }
-
- public override int GetHashCode ()
- {
- return (name + version).GetHashCode ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/Project/ProjectPackageCollection.cs b/main/src/addins/CBinding/Project/ProjectPackageCollection.cs
deleted file mode 100644
index 3a29ee5c90..0000000000
--- a/main/src/addins/CBinding/Project/ProjectPackageCollection.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-// ProjectPackageCollection.cs: Collection of pkg-config packages for the prject
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-
-using Mono.Addins;
-
-namespace CBinding
-{
- [Serializable()]
- public class ProjectPackageCollection : Collection<Package>
- {
- private CProject project;
-
- internal CProject Project {
- get { return project; }
- set { project = value; }
- }
-
- public ProjectPackageCollection ()
- {
- }
-
- public void AddRange (IEnumerable<Package> packages)
- {
- foreach (Package p in packages)
- Add (p);
- }
-
- protected override void ClearItems()
- {
- if (project != null) {
- List<Package> list = new List<Package> (Items);
- base.ClearItems ();
- foreach (Package p in list) {
- project.NotifyPackageRemovedFromProject (p);
- }
- }
- }
-
- protected override void InsertItem (int index, Package value)
- {
- base.InsertItem (index, value);
- if (project != null) {
- project.NotifyPackageAddedToProject (value);
- }
- }
-
- protected override void RemoveItem (int index)
- {
- Package p = Items [index];
- base.RemoveItem (index);
- if (project != null) {
- project.NotifyPackageRemovedFromProject (p);
- }
- }
-
- protected override void SetItem (int index, Package item)
- {
- Package oldValue = Items [index];
- base.SetItem (index, item);
- if (project != null) {
- project.NotifyPackageRemovedFromProject (oldValue);
- project.NotifyPackageAddedToProject (item);
- }
- }
-
- public string[] ToStringArray ()
- {
- string[] array = new string[Count];
- int i = 0;
-
- foreach (Package p in Items)
- array[i++] = p.Name;
-
- return array;
- }
- }
-}
diff --git a/main/src/addins/CBinding/Project/ProjectPackageEventArgs.cs b/main/src/addins/CBinding/Project/ProjectPackageEventArgs.cs
deleted file mode 100644
index 492ba85716..0000000000
--- a/main/src/addins/CBinding/Project/ProjectPackageEventArgs.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// ProjectPackageEventArgs.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-namespace CBinding
-{
- public delegate void ProjectPackageEventHandler (object sender, ProjectPackageEventArgs e);
-
- public class ProjectPackageEventArgs : EventArgs
- {
- CProject project;
- Package package;
-
- public ProjectPackageEventArgs(CProject project, Package package)
- {
- this.project = project;
- this.package = package;
- }
-
- public CProject Project {
- get { return project; }
- }
-
- public Package Package {
- get { return package; }
- }
- }
-}
diff --git a/main/src/addins/CBinding/ProjectPad/ProjectNodeExtension.cs b/main/src/addins/CBinding/ProjectPad/ProjectNodeExtension.cs
deleted file mode 100644
index 10b6fbbb37..0000000000
--- a/main/src/addins/CBinding/ProjectPad/ProjectNodeExtension.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// ProjectNodeExtension.cs: Adds the packages node to a CProject
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-using Mono.Addins;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Ide.Gui.Components;
-
-namespace CBinding.ProjectPad
-{
- public class ProjectNodeExtension : NodeBuilderExtension
- {
- public override bool CanBuildNode (Type dataType)
- {
- return typeof(CProject).IsAssignableFrom (dataType);
- }
-
- public override void BuildChildNodes (ITreeBuilder builder, object dataObject)
- {
- CProject p = dataObject as CProject;
-
- if (p == null) return;
-
- builder.AddChild (p.Packages);
- }
- }
-}
diff --git a/main/src/addins/CBinding/ProjectPad/ProjectPackageNodeBuilder.cs b/main/src/addins/CBinding/ProjectPad/ProjectPackageNodeBuilder.cs
deleted file mode 100644
index 42cbc28768..0000000000
--- a/main/src/addins/CBinding/ProjectPad/ProjectPackageNodeBuilder.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// ProjectPackageNodeBuilder.cs
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui.Components;
-using MonoDevelop.Ide;
-
-namespace CBinding.ProjectPad
-{
- public class ProjectPackageNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(Package); }
- }
-
- public override Type CommandHandlerType {
- get { return typeof(PackageNodeCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return ((Package)dataObject).File;
- }
-
- public override string ContextMenuAddinPath {
- get { return "/CBinding/Views/ProjectBrowser/ContextMenu/PackageNode"; }
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder,
- object dataObject,
- NodeInfo nodeInfo)
- {
- nodeInfo.Label = ((Package)dataObject).Name;
-
- if (((Package)dataObject).IsProject)
- nodeInfo.Icon = Context.GetIcon ("md-reference-project");
- else
- nodeInfo.Icon = Context.GetIcon (Stock.Reference);
- }
- }
-
- public class PackageNodeCommandHandler : NodeCommandHandler
- {
- public override void DeleteItem ()
- {
- Package package = (Package)CurrentNode.DataItem;
- CProject project = (CProject)CurrentNode.GetParentDataItem (
- typeof(CProject), false);
-
- project.Packages.Remove (package);
-
- IdeApp.ProjectOperations.SaveAsync (project);
- }
-
- public override DragOperation CanDragNode ()
- {
- return DragOperation.Copy;
- }
-
- [CommandHandler (CBinding.CProjectCommands.ShowPackageDetails)]
- public void ShowPackageDetails ()
- {
- Package package = (Package)CurrentNode.DataItem;
-
- package.ParsePackage ();
-
- PackageDetails details = new CBinding.PackageDetails (package);
- details.Show ();
- }
- }
-}
diff --git a/main/src/addins/CBinding/ProjectPad/ProjectPackagesFolderNodeBuilder.cs b/main/src/addins/CBinding/ProjectPad/ProjectPackagesFolderNodeBuilder.cs
deleted file mode 100644
index 9e2906f58b..0000000000
--- a/main/src/addins/CBinding/ProjectPad/ProjectPackagesFolderNodeBuilder.cs
+++ /dev/null
@@ -1,193 +0,0 @@
-//
-// ProjectPackagesFolderNodeBuilder.cs: Node to control the packages in the project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui;
-using MonoDevelop.Ide.Gui.Components;
-using MonoDevelop.Ide;
-using MonoDevelop.Projects;
-using System.Collections.Generic;
-
-namespace CBinding.ProjectPad
-{
- public class ProjectPackagesFolderNodeBuilder : TypeNodeBuilder
- {
- public override Type NodeDataType {
- get { return typeof(ProjectPackageCollection); }
- }
-
- public override void OnNodeAdded (object dataObject)
- {
- CProject project = ((ProjectPackageCollection)dataObject).Project;
- if (project == null) return;
- project.PackageAddedToProject += OnAddPackage;
- project.PackageRemovedFromProject += OnRemovePackage;
- }
-
- public override void OnNodeRemoved (object dataObject)
- {
- CProject project = ((ProjectPackageCollection)dataObject).Project;
- if (project == null) return;
- project.PackageAddedToProject -= OnAddPackage;
- project.PackageRemovedFromProject -= OnRemovePackage;
- }
-
- public override Type CommandHandlerType {
- get { return typeof(ProjectPackagesFolderNodeCommandHandler); }
- }
-
- public override string GetNodeName (ITreeNavigator thisNode, object dataObject)
- {
- return "Packages";
- }
-
- public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo)
- {
- nodeInfo.Label = "Packages";
- nodeInfo.Icon = Context.GetIcon (Stock.OpenReferenceFolder);
- nodeInfo.ClosedIcon = Context.GetIcon (Stock.ClosedReferenceFolder);
- }
-
- public override bool HasChildNodes (ITreeBuilder builder, object dataObject)
- {
- return ((ProjectPackageCollection)dataObject).Count > 0;
- }
-
- public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject)
- {
- ProjectPackageCollection packages = (ProjectPackageCollection)dataObject;
-
- foreach (Package p in packages)
- treeBuilder.AddChild (p);
- }
-
- public override string ContextMenuAddinPath {
- get { return "/CBinding/Views/ProjectBrowser/ContextMenu/PackagesFolderNode"; }
- }
-
- public override int CompareObjects (ITreeNavigator thisNode, ITreeNavigator otherNode)
- {
- return -1;
- }
-
- private void OnAddPackage (object sender, ProjectPackageEventArgs e)
- {
- ITreeBuilder builder = Context.GetTreeBuilder (e.Project.Packages);
- if (builder != null)
- builder.UpdateAll ();
- }
-
- private void OnRemovePackage (object sender, ProjectPackageEventArgs e)
- {
- ITreeBuilder builder = Context.GetTreeBuilder (e.Project.Packages);
- if (builder != null)
- builder.UpdateAll ();
- }
- }
-
- public class ProjectPackagesFolderNodeCommandHandler : NodeCommandHandler
- {
- [CommandHandler (CBinding.CProjectCommands.AddPackage)]
- public void AddPackageToProject ()
- {
- CProject project = (CProject)CurrentNode.GetParentDataItem (
- typeof(CProject), false);
-
- using (var dlg = new EditPackagesDialog (project))
- MessageService.ShowCustomDialog (dlg);
-
- IdeApp.ProjectOperations.SaveAsync (project);
- CurrentNode.Expanded = true;
- }
-
- // Currently only accepts packages and projects that compile into a static library
- public override bool CanDropNode (object dataObject, DragOperation operation)
- {
- if (dataObject is Package)
- return true;
-
- if (dataObject is CProject) {
- CProject project = (CProject)dataObject;
-
- if (((ProjectPackageCollection)CurrentNode.DataItem).Project.Equals (project))
- return false;
-
- CProjectConfiguration config = (CProjectConfiguration)project.GetConfiguration (IdeApp.Workspace.ActiveConfiguration);
-
- if (config.CompileTarget != CBinding.CompileTarget.Bin)
- return true;
- }
-
- return false;
- }
-
- public override DragOperation CanDragNode ()
- {
- return DragOperation.Copy | DragOperation.Move;
- }
-
- public override void OnNodeDrop (object dataObject, DragOperation operation)
- {
- List<IWorkspaceFileObject> toSave = new List<IWorkspaceFileObject> ();
- if (dataObject is Package) {
- Package package = (Package)dataObject;
- ITreeNavigator nav = CurrentNode;
-
- CProject dest = nav.GetParentDataItem (typeof(CProject), true) as CProject;
- nav.MoveToObject (dataObject);
- CProject source = nav.GetParentDataItem (typeof(CProject), true) as CProject;
-
- dest.Packages.Add (package);
- toSave.Add (dest);
-
- if (operation == DragOperation.Move) {
- source.Packages.Remove (package);
- toSave.Add (source);
- }
- } else if (dataObject is CProject) {
- CProject draggedProject = (CProject)dataObject;
- CProject destProject = (CurrentNode.DataItem as ProjectPackageCollection).Project;
-
- draggedProject.WriteMDPkgPackage (IdeApp.Workspace.ActiveConfiguration);
-
- Package package = new Package (draggedProject);
-
- if (!destProject.Packages.Contains (package)) {
- destProject.Packages.Add (package);
- toSave.Add (destProject);
- }
- }
- IdeApp.ProjectOperations.SaveAsync (toSave);
- }
- }
-}
diff --git a/main/src/addins/CBinding/ProjectPad/ProjectReferencesExtension.cs b/main/src/addins/CBinding/ProjectPad/ProjectReferencesExtension.cs
deleted file mode 100644
index 8ca4e4afc9..0000000000
--- a/main/src/addins/CBinding/ProjectPad/ProjectReferencesExtension.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// ProjectReferencesExtension.cs: Hides the ProjectReferencesNode if this is a C/C++ project
-//
-// Authors:
-// Marcos David Marin Amador <MarcosMarin@gmail.com>
-//
-// Copyright (C) 2007 Marcos David Marin Amador
-//
-//
-// This source code is licenced under The MIT License:
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Addins;
-
-using MonoDevelop.Projects;
-using MonoDevelop.Ide.Gui.Pads;
-using MonoDevelop.Ide.Gui.Components;
-
-namespace CBinding.ProjectPad
-{
- public class ProjectReferencesExtension : NodeBuilderExtension
- {
- public override bool CanBuildNode (Type dataType)
- {
- return typeof(ProjectReferenceCollection).IsAssignableFrom (dataType);
- }
-
- public override void GetNodeAttributes (ITreeNavigator parentNode, object dataObject, ref NodeAttributes attributes)
- {
- Project p = parentNode.DataItem as Project;
-
- if (p is CProject)
- attributes |= NodeAttributes.Hidden;
- }
- }
-}
diff --git a/main/src/addins/CBinding/README b/main/src/addins/CBinding/README
deleted file mode 100644
index f4f1ced796..0000000000
--- a/main/src/addins/CBinding/README
+++ /dev/null
@@ -1,7 +0,0 @@
-The following icons might be under the GPL licence and might have to be replaced.
-
-C.Project.ConsoleProject, C.Project.SharedLibrary: These icons were taken and
-slightly modified from the CSharpBinding.
-
-C.Project.StaticLibrary: This icon was taken with no modifications from
-MonoDevelop.Core.Gui
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.CodeGenerationPanel.cs b/main/src/addins/CBinding/gtk-gui/CBinding.CodeGenerationPanel.cs
deleted file mode 100644
index 3b3b4a1cb8..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.CodeGenerationPanel.cs
+++ /dev/null
@@ -1,690 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class CodeGenerationPanel
- {
- private global::Gtk.Notebook notebook1;
- private global::Gtk.VBox vbox6;
- private global::Gtk.Table table1;
- private global::Gtk.Label label4;
- private global::Gtk.Label label5;
- private global::Gtk.Label label6;
- private global::Gtk.SpinButton optimizationSpinButton;
- private global::Gtk.ComboBox targetComboBox;
- private global::Gtk.VBox vbox1;
- private global::Gtk.RadioButton noWarningRadio;
- private global::Gtk.RadioButton normalWarningRadio;
- private global::Gtk.RadioButton allWarningRadio;
- private global::Gtk.CheckButton warningsAsErrorsCheckBox;
- private global::Gtk.HBox hbox1;
- private global::Gtk.Label label12;
- private global::Gtk.Entry defineSymbolsTextEntry;
- private global::Gtk.Frame frame2;
- private global::Gtk.Alignment GtkAlignment;
- private global::Gtk.Table table5;
- private global::Gtk.Label label11;
- private global::Gtk.Label label7;
- private global::Gtk.ScrolledWindow scrolledwindow4;
- private global::Gtk.TextView extraCompilerTextView;
- private global::Gtk.ScrolledWindow scrolledwindow5;
- private global::Gtk.TextView extraLinkerTextView;
- private global::Gtk.Label GtkLabel12;
- private global::Gtk.Label label1;
- private global::Gtk.Table table2;
- private global::Gtk.Button addLibButton;
- private global::Gtk.Label label8;
- private global::Gtk.Entry libAddEntry;
- private global::Gtk.ScrolledWindow scrolledwindow1;
- private global::Gtk.TreeView libTreeView;
- private global::Gtk.VBox vbox4;
- private global::Gtk.Button browseButton;
- private global::Gtk.Button removeLibButton;
- private global::Gtk.Label label2;
- private global::Gtk.VBox vbox7;
- private global::Gtk.Table table4;
- private global::Gtk.HBox hbox2;
- private global::Gtk.Entry libPathEntry;
- private global::Gtk.Button quickInsertLibButton;
- private global::Gtk.Label label10;
- private global::Gtk.Button libPathAddButton;
- private global::Gtk.ScrolledWindow scrolledwindow3;
- private global::Gtk.TreeView libPathTreeView;
- private global::Gtk.VBox vbox3;
- private global::Gtk.Button libPathBrowseButton;
- private global::Gtk.Button libPathRemoveButton;
- private global::Gtk.Table table3;
- private global::Gtk.HBox hbox3;
- private global::Gtk.Entry includePathEntry;
- private global::Gtk.Button quickInsertIncludeButton;
- private global::Gtk.Button includePathAddButton;
- private global::Gtk.Label label9;
- private global::Gtk.ScrolledWindow scrolledwindow2;
- private global::Gtk.TreeView includePathTreeView;
- private global::Gtk.VBox vbox5;
- private global::Gtk.Button includePathBrowseButton;
- private global::Gtk.Button includePathRemoveButton;
- private global::Gtk.Label label3;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.CodeGenerationPanel
- global::Stetic.BinContainer.Attach (this);
- this.Name = "CBinding.CodeGenerationPanel";
- // Container child CBinding.CodeGenerationPanel.Gtk.Container+ContainerChild
- this.notebook1 = new global::Gtk.Notebook ();
- this.notebook1.CanFocus = true;
- this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 0;
- // Container child notebook1.Gtk.Notebook+NotebookChild
- this.vbox6 = new global::Gtk.VBox ();
- this.vbox6.Name = "vbox6";
- this.vbox6.Spacing = 3;
- // Container child vbox6.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(5));
- this.table1.ColumnSpacing = ((uint)(5));
- this.table1.BorderWidth = ((uint)(2));
- // Container child table1.Gtk.Table+TableChild
- this.label4 = new global::Gtk.Label ();
- this.label4.Name = "label4";
- this.label4.Xpad = 10;
- this.label4.Xalign = 0F;
- this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("Warning Level:");
- this.table1.Add (this.label4);
- global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4]));
- w1.XOptions = ((global::Gtk.AttachOptions)(4));
- w1.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label5 = new global::Gtk.Label ();
- this.label5.Name = "label5";
- this.label5.Xpad = 10;
- this.label5.Xalign = 0F;
- this.label5.LabelProp = global::Mono.Unix.Catalog.GetString ("Optimization Level:");
- this.table1.Add (this.label5);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.label5]));
- w2.TopAttach = ((uint)(1));
- w2.BottomAttach = ((uint)(2));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label6 = new global::Gtk.Label ();
- this.label6.Name = "label6";
- this.label6.Xpad = 10;
- this.label6.Xalign = 0F;
- this.label6.LabelProp = global::Mono.Unix.Catalog.GetString ("Target:");
- this.table1.Add (this.label6);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label6]));
- w3.TopAttach = ((uint)(2));
- w3.BottomAttach = ((uint)(3));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.optimizationSpinButton = new global::Gtk.SpinButton (0, 3, 1);
- this.optimizationSpinButton.CanFocus = true;
- this.optimizationSpinButton.Name = "optimizationSpinButton";
- this.optimizationSpinButton.Adjustment.PageIncrement = 10;
- this.optimizationSpinButton.ClimbRate = 1;
- this.optimizationSpinButton.Numeric = true;
- this.table1.Add (this.optimizationSpinButton);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.optimizationSpinButton]));
- w4.TopAttach = ((uint)(1));
- w4.BottomAttach = ((uint)(2));
- w4.LeftAttach = ((uint)(1));
- w4.RightAttach = ((uint)(2));
- w4.XOptions = ((global::Gtk.AttachOptions)(4));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.targetComboBox = global::Gtk.ComboBox.NewText ();
- this.targetComboBox.AppendText (global::Mono.Unix.Catalog.GetString ("Executable"));
- this.targetComboBox.AppendText (global::Mono.Unix.Catalog.GetString ("Static Library"));
- this.targetComboBox.AppendText (global::Mono.Unix.Catalog.GetString ("Shared Object"));
- this.targetComboBox.Name = "targetComboBox";
- this.table1.Add (this.targetComboBox);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.targetComboBox]));
- w5.TopAttach = ((uint)(2));
- w5.BottomAttach = ((uint)(3));
- w5.LeftAttach = ((uint)(1));
- w5.RightAttach = ((uint)(2));
- w5.XOptions = ((global::Gtk.AttachOptions)(4));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.vbox1 = new global::Gtk.VBox ();
- this.vbox1.Name = "vbox1";
- this.vbox1.Spacing = 1;
- // Container child vbox1.Gtk.Box+BoxChild
- this.noWarningRadio = new global::Gtk.RadioButton (global::Mono.Unix.Catalog.GetString ("no warnings"));
- this.noWarningRadio.CanFocus = true;
- this.noWarningRadio.Name = "noWarningRadio";
- this.noWarningRadio.Active = true;
- this.noWarningRadio.DrawIndicator = true;
- this.noWarningRadio.UseUnderline = true;
- this.noWarningRadio.Group = new global::GLib.SList (global::System.IntPtr.Zero);
- this.vbox1.Add (this.noWarningRadio);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.noWarningRadio]));
- w6.Position = 0;
- w6.Expand = false;
- w6.Fill = false;
- // Container child vbox1.Gtk.Box+BoxChild
- this.normalWarningRadio = new global::Gtk.RadioButton (global::Mono.Unix.Catalog.GetString ("normal"));
- this.normalWarningRadio.CanFocus = true;
- this.normalWarningRadio.Name = "normalWarningRadio";
- this.normalWarningRadio.DrawIndicator = true;
- this.normalWarningRadio.UseUnderline = true;
- this.normalWarningRadio.Group = this.noWarningRadio.Group;
- this.vbox1.Add (this.normalWarningRadio);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.normalWarningRadio]));
- w7.Position = 1;
- w7.Expand = false;
- w7.Fill = false;
- // Container child vbox1.Gtk.Box+BoxChild
- this.allWarningRadio = new global::Gtk.RadioButton (global::Mono.Unix.Catalog.GetString ("all"));
- this.allWarningRadio.CanFocus = true;
- this.allWarningRadio.Name = "allWarningRadio";
- this.allWarningRadio.DrawIndicator = true;
- this.allWarningRadio.UseUnderline = true;
- this.allWarningRadio.Group = this.noWarningRadio.Group;
- this.vbox1.Add (this.allWarningRadio);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.allWarningRadio]));
- w8.Position = 2;
- w8.Expand = false;
- w8.Fill = false;
- // Container child vbox1.Gtk.Box+BoxChild
- this.warningsAsErrorsCheckBox = new global::Gtk.CheckButton ();
- this.warningsAsErrorsCheckBox.CanFocus = true;
- this.warningsAsErrorsCheckBox.Name = "warningsAsErrorsCheckBox";
- this.warningsAsErrorsCheckBox.Label = global::Mono.Unix.Catalog.GetString ("Treat warnings as errors");
- this.warningsAsErrorsCheckBox.DrawIndicator = true;
- this.warningsAsErrorsCheckBox.UseUnderline = true;
- this.vbox1.Add (this.warningsAsErrorsCheckBox);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.warningsAsErrorsCheckBox]));
- w9.Position = 3;
- w9.Expand = false;
- w9.Fill = false;
- this.table1.Add (this.vbox1);
- global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.table1 [this.vbox1]));
- w10.LeftAttach = ((uint)(1));
- w10.RightAttach = ((uint)(2));
- w10.XOptions = ((global::Gtk.AttachOptions)(4));
- w10.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox6.Add (this.table1);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox6 [this.table1]));
- w11.Position = 0;
- w11.Expand = false;
- w11.Fill = false;
- // Container child vbox6.Gtk.Box+BoxChild
- this.hbox1 = new global::Gtk.HBox ();
- this.hbox1.Name = "hbox1";
- this.hbox1.Spacing = 6;
- // Container child hbox1.Gtk.Box+BoxChild
- this.label12 = new global::Gtk.Label ();
- this.label12.Name = "label12";
- this.label12.Xpad = 13;
- this.label12.Xalign = 0F;
- this.label12.LabelProp = global::Mono.Unix.Catalog.GetString ("Define Symbols:");
- this.hbox1.Add (this.label12);
- global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label12]));
- w12.Position = 0;
- w12.Expand = false;
- w12.Fill = false;
- // Container child hbox1.Gtk.Box+BoxChild
- this.defineSymbolsTextEntry = new global::Gtk.Entry ();
- this.defineSymbolsTextEntry.TooltipMarkup = "A space seperated list of symbols to define.";
- this.defineSymbolsTextEntry.CanFocus = true;
- this.defineSymbolsTextEntry.Name = "defineSymbolsTextEntry";
- this.defineSymbolsTextEntry.IsEditable = true;
- this.defineSymbolsTextEntry.InvisibleChar = '●';
- this.hbox1.Add (this.defineSymbolsTextEntry);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.defineSymbolsTextEntry]));
- w13.Position = 1;
- w13.Padding = ((uint)(14));
- this.vbox6.Add (this.hbox1);
- global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox6 [this.hbox1]));
- w14.Position = 1;
- w14.Expand = false;
- w14.Fill = false;
- // Container child vbox6.Gtk.Box+BoxChild
- this.frame2 = new global::Gtk.Frame ();
- this.frame2.Name = "frame2";
- this.frame2.ShadowType = ((global::Gtk.ShadowType)(0));
- this.frame2.LabelYalign = 0F;
- // Container child frame2.Gtk.Container+ContainerChild
- this.GtkAlignment = new global::Gtk.Alignment (0F, 0F, 1F, 1F);
- this.GtkAlignment.Name = "GtkAlignment";
- this.GtkAlignment.LeftPadding = ((uint)(12));
- // Container child GtkAlignment.Gtk.Container+ContainerChild
- this.table5 = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false);
- this.table5.Name = "table5";
- this.table5.RowSpacing = ((uint)(6));
- this.table5.ColumnSpacing = ((uint)(9));
- this.table5.BorderWidth = ((uint)(6));
- // Container child table5.Gtk.Table+TableChild
- this.label11 = new global::Gtk.Label ();
- this.label11.Name = "label11";
- this.label11.Xalign = 0F;
- this.label11.LabelProp = global::Mono.Unix.Catalog.GetString ("Extra Linker Options");
- this.table5.Add (this.label11);
- global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table5 [this.label11]));
- w15.LeftAttach = ((uint)(1));
- w15.RightAttach = ((uint)(2));
- w15.XOptions = ((global::Gtk.AttachOptions)(4));
- w15.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table5.Gtk.Table+TableChild
- this.label7 = new global::Gtk.Label ();
- this.label7.Name = "label7";
- this.label7.Xalign = 0F;
- this.label7.LabelProp = global::Mono.Unix.Catalog.GetString ("Extra Compiler Options");
- this.table5.Add (this.label7);
- global::Gtk.Table.TableChild w16 = ((global::Gtk.Table.TableChild)(this.table5 [this.label7]));
- w16.XOptions = ((global::Gtk.AttachOptions)(4));
- w16.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table5.Gtk.Table+TableChild
- this.scrolledwindow4 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow4.CanFocus = true;
- this.scrolledwindow4.Name = "scrolledwindow4";
- this.scrolledwindow4.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow4.Gtk.Container+ContainerChild
- this.extraCompilerTextView = new global::Gtk.TextView ();
- this.extraCompilerTextView.TooltipMarkup = "A newline seperated list of extra options to send to the compiler.\nOne option can be in more than one line.\nExample:\n\t`pkg-config\n\t--cflags\n\tcairo`";
- this.extraCompilerTextView.CanFocus = true;
- this.extraCompilerTextView.Name = "extraCompilerTextView";
- this.scrolledwindow4.Add (this.extraCompilerTextView);
- this.table5.Add (this.scrolledwindow4);
- global::Gtk.Table.TableChild w18 = ((global::Gtk.Table.TableChild)(this.table5 [this.scrolledwindow4]));
- w18.TopAttach = ((uint)(1));
- w18.BottomAttach = ((uint)(2));
- // Container child table5.Gtk.Table+TableChild
- this.scrolledwindow5 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow5.CanFocus = true;
- this.scrolledwindow5.Name = "scrolledwindow5";
- this.scrolledwindow5.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow5.Gtk.Container+ContainerChild
- this.extraLinkerTextView = new global::Gtk.TextView ();
- this.extraLinkerTextView.TooltipMarkup = "A newline seperated list of extra options to send to the linker.\nOne option can be in more than one line.\nExample:\n\t`pkg-config\n\t--libs\n\tcairo`";
- this.extraLinkerTextView.CanFocus = true;
- this.extraLinkerTextView.Name = "extraLinkerTextView";
- this.scrolledwindow5.Add (this.extraLinkerTextView);
- this.table5.Add (this.scrolledwindow5);
- global::Gtk.Table.TableChild w20 = ((global::Gtk.Table.TableChild)(this.table5 [this.scrolledwindow5]));
- w20.TopAttach = ((uint)(1));
- w20.BottomAttach = ((uint)(2));
- w20.LeftAttach = ((uint)(1));
- w20.RightAttach = ((uint)(2));
- w20.YOptions = ((global::Gtk.AttachOptions)(4));
- this.GtkAlignment.Add (this.table5);
- this.frame2.Add (this.GtkAlignment);
- this.GtkLabel12 = new global::Gtk.Label ();
- this.GtkLabel12.Name = "GtkLabel12";
- this.GtkLabel12.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Extra Options</b>");
- this.GtkLabel12.UseMarkup = true;
- this.frame2.LabelWidget = this.GtkLabel12;
- this.vbox6.Add (this.frame2);
- global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox6 [this.frame2]));
- w23.Position = 2;
- this.notebook1.Add (this.vbox6);
- // Notebook tab
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Code Generation");
- this.notebook1.SetTabLabel (this.vbox6, this.label1);
- this.label1.ShowAll ();
- // Container child notebook1.Gtk.Notebook+NotebookChild
- this.table2 = new global::Gtk.Table (((uint)(2)), ((uint)(3)), false);
- this.table2.Name = "table2";
- this.table2.RowSpacing = ((uint)(10));
- this.table2.ColumnSpacing = ((uint)(10));
- this.table2.BorderWidth = ((uint)(3));
- // Container child table2.Gtk.Table+TableChild
- this.addLibButton = new global::Gtk.Button ();
- this.addLibButton.Sensitive = false;
- this.addLibButton.CanFocus = true;
- this.addLibButton.Name = "addLibButton";
- this.addLibButton.UseUnderline = true;
- this.addLibButton.Label = global::Mono.Unix.Catalog.GetString ("Add");
- this.table2.Add (this.addLibButton);
- global::Gtk.Table.TableChild w25 = ((global::Gtk.Table.TableChild)(this.table2 [this.addLibButton]));
- w25.LeftAttach = ((uint)(2));
- w25.RightAttach = ((uint)(3));
- w25.XOptions = ((global::Gtk.AttachOptions)(4));
- w25.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table2.Gtk.Table+TableChild
- this.label8 = new global::Gtk.Label ();
- this.label8.Name = "label8";
- this.label8.LabelProp = global::Mono.Unix.Catalog.GetString ("Library:");
- this.table2.Add (this.label8);
- global::Gtk.Table.TableChild w26 = ((global::Gtk.Table.TableChild)(this.table2 [this.label8]));
- w26.XOptions = ((global::Gtk.AttachOptions)(4));
- w26.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table2.Gtk.Table+TableChild
- this.libAddEntry = new global::Gtk.Entry ();
- this.libAddEntry.CanFocus = true;
- this.libAddEntry.Name = "libAddEntry";
- this.libAddEntry.IsEditable = true;
- this.libAddEntry.InvisibleChar = '●';
- this.table2.Add (this.libAddEntry);
- global::Gtk.Table.TableChild w27 = ((global::Gtk.Table.TableChild)(this.table2 [this.libAddEntry]));
- w27.LeftAttach = ((uint)(1));
- w27.RightAttach = ((uint)(2));
- w27.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table2.Gtk.Table+TableChild
- this.scrolledwindow1 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow1.CanFocus = true;
- this.scrolledwindow1.Name = "scrolledwindow1";
- this.scrolledwindow1.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow1.Gtk.Container+ContainerChild
- this.libTreeView = new global::Gtk.TreeView ();
- this.libTreeView.CanFocus = true;
- this.libTreeView.Name = "libTreeView";
- this.scrolledwindow1.Add (this.libTreeView);
- this.table2.Add (this.scrolledwindow1);
- global::Gtk.Table.TableChild w29 = ((global::Gtk.Table.TableChild)(this.table2 [this.scrolledwindow1]));
- w29.TopAttach = ((uint)(1));
- w29.BottomAttach = ((uint)(2));
- w29.LeftAttach = ((uint)(1));
- w29.RightAttach = ((uint)(2));
- // Container child table2.Gtk.Table+TableChild
- this.vbox4 = new global::Gtk.VBox ();
- this.vbox4.Name = "vbox4";
- this.vbox4.Spacing = 6;
- // Container child vbox4.Gtk.Box+BoxChild
- this.browseButton = new global::Gtk.Button ();
- this.browseButton.CanFocus = true;
- this.browseButton.Name = "browseButton";
- this.browseButton.UseUnderline = true;
- this.browseButton.Label = global::Mono.Unix.Catalog.GetString ("Browse...");
- this.vbox4.Add (this.browseButton);
- global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.browseButton]));
- w30.Position = 0;
- w30.Expand = false;
- w30.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.removeLibButton = new global::Gtk.Button ();
- this.removeLibButton.Sensitive = false;
- this.removeLibButton.CanFocus = true;
- this.removeLibButton.Name = "removeLibButton";
- this.removeLibButton.UseUnderline = true;
- this.removeLibButton.Label = global::Mono.Unix.Catalog.GetString ("Remove");
- this.vbox4.Add (this.removeLibButton);
- global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.removeLibButton]));
- w31.Position = 1;
- w31.Expand = false;
- w31.Fill = false;
- this.table2.Add (this.vbox4);
- global::Gtk.Table.TableChild w32 = ((global::Gtk.Table.TableChild)(this.table2 [this.vbox4]));
- w32.TopAttach = ((uint)(1));
- w32.BottomAttach = ((uint)(2));
- w32.LeftAttach = ((uint)(2));
- w32.RightAttach = ((uint)(3));
- w32.XOptions = ((global::Gtk.AttachOptions)(4));
- this.notebook1.Add (this.table2);
- global::Gtk.Notebook.NotebookChild w33 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.table2]));
- w33.Position = 1;
- // Notebook tab
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Libraries");
- this.notebook1.SetTabLabel (this.table2, this.label2);
- this.label2.ShowAll ();
- // Container child notebook1.Gtk.Notebook+NotebookChild
- this.vbox7 = new global::Gtk.VBox ();
- this.vbox7.Name = "vbox7";
- this.vbox7.Spacing = 6;
- this.vbox7.BorderWidth = ((uint)(3));
- // Container child vbox7.Gtk.Box+BoxChild
- this.table4 = new global::Gtk.Table (((uint)(2)), ((uint)(3)), false);
- this.table4.Name = "table4";
- this.table4.RowSpacing = ((uint)(10));
- this.table4.ColumnSpacing = ((uint)(10));
- // Container child table4.Gtk.Table+TableChild
- this.hbox2 = new global::Gtk.HBox ();
- this.hbox2.Name = "hbox2";
- this.hbox2.Spacing = 6;
- // Container child hbox2.Gtk.Box+BoxChild
- this.libPathEntry = new global::Gtk.Entry ();
- this.libPathEntry.CanFocus = true;
- this.libPathEntry.Name = "libPathEntry";
- this.libPathEntry.IsEditable = true;
- this.libPathEntry.InvisibleChar = '●';
- this.hbox2.Add (this.libPathEntry);
- global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.libPathEntry]));
- w34.Position = 0;
- // Container child hbox2.Gtk.Box+BoxChild
- this.quickInsertLibButton = new global::Gtk.Button ();
- this.quickInsertLibButton.TooltipMarkup = "Insert a macro.";
- this.quickInsertLibButton.CanFocus = true;
- this.quickInsertLibButton.Name = "quickInsertLibButton";
- this.quickInsertLibButton.UseUnderline = true;
- this.quickInsertLibButton.Label = global::Mono.Unix.Catalog.GetString (">");
- this.hbox2.Add (this.quickInsertLibButton);
- global::Gtk.Box.BoxChild w35 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.quickInsertLibButton]));
- w35.Position = 1;
- w35.Expand = false;
- w35.Fill = false;
- this.table4.Add (this.hbox2);
- global::Gtk.Table.TableChild w36 = ((global::Gtk.Table.TableChild)(this.table4 [this.hbox2]));
- w36.LeftAttach = ((uint)(1));
- w36.RightAttach = ((uint)(2));
- w36.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table4.Gtk.Table+TableChild
- this.label10 = new global::Gtk.Label ();
- this.label10.Name = "label10";
- this.label10.LabelProp = global::Mono.Unix.Catalog.GetString ("Library:");
- this.table4.Add (this.label10);
- global::Gtk.Table.TableChild w37 = ((global::Gtk.Table.TableChild)(this.table4 [this.label10]));
- w37.XOptions = ((global::Gtk.AttachOptions)(4));
- w37.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table4.Gtk.Table+TableChild
- this.libPathAddButton = new global::Gtk.Button ();
- this.libPathAddButton.Sensitive = false;
- this.libPathAddButton.CanFocus = true;
- this.libPathAddButton.Name = "libPathAddButton";
- this.libPathAddButton.UseUnderline = true;
- this.libPathAddButton.Label = global::Mono.Unix.Catalog.GetString ("Add");
- this.table4.Add (this.libPathAddButton);
- global::Gtk.Table.TableChild w38 = ((global::Gtk.Table.TableChild)(this.table4 [this.libPathAddButton]));
- w38.LeftAttach = ((uint)(2));
- w38.RightAttach = ((uint)(3));
- w38.XOptions = ((global::Gtk.AttachOptions)(4));
- w38.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table4.Gtk.Table+TableChild
- this.scrolledwindow3 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow3.CanFocus = true;
- this.scrolledwindow3.Name = "scrolledwindow3";
- this.scrolledwindow3.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow3.Gtk.Container+ContainerChild
- this.libPathTreeView = new global::Gtk.TreeView ();
- this.libPathTreeView.CanFocus = true;
- this.libPathTreeView.Name = "libPathTreeView";
- this.scrolledwindow3.Add (this.libPathTreeView);
- this.table4.Add (this.scrolledwindow3);
- global::Gtk.Table.TableChild w40 = ((global::Gtk.Table.TableChild)(this.table4 [this.scrolledwindow3]));
- w40.TopAttach = ((uint)(1));
- w40.BottomAttach = ((uint)(2));
- w40.LeftAttach = ((uint)(1));
- w40.RightAttach = ((uint)(2));
- // Container child table4.Gtk.Table+TableChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
- // Container child vbox3.Gtk.Box+BoxChild
- this.libPathBrowseButton = new global::Gtk.Button ();
- this.libPathBrowseButton.CanFocus = true;
- this.libPathBrowseButton.Name = "libPathBrowseButton";
- this.libPathBrowseButton.UseUnderline = true;
- this.libPathBrowseButton.Label = global::Mono.Unix.Catalog.GetString ("Browse...");
- this.vbox3.Add (this.libPathBrowseButton);
- global::Gtk.Box.BoxChild w41 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.libPathBrowseButton]));
- w41.Position = 0;
- w41.Expand = false;
- w41.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.libPathRemoveButton = new global::Gtk.Button ();
- this.libPathRemoveButton.Sensitive = false;
- this.libPathRemoveButton.CanFocus = true;
- this.libPathRemoveButton.Name = "libPathRemoveButton";
- this.libPathRemoveButton.UseUnderline = true;
- this.libPathRemoveButton.Label = global::Mono.Unix.Catalog.GetString ("Remove");
- this.vbox3.Add (this.libPathRemoveButton);
- global::Gtk.Box.BoxChild w42 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.libPathRemoveButton]));
- w42.Position = 1;
- w42.Expand = false;
- w42.Fill = false;
- this.table4.Add (this.vbox3);
- global::Gtk.Table.TableChild w43 = ((global::Gtk.Table.TableChild)(this.table4 [this.vbox3]));
- w43.TopAttach = ((uint)(1));
- w43.BottomAttach = ((uint)(2));
- w43.LeftAttach = ((uint)(2));
- w43.RightAttach = ((uint)(3));
- w43.XOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox7.Add (this.table4);
- global::Gtk.Box.BoxChild w44 = ((global::Gtk.Box.BoxChild)(this.vbox7 [this.table4]));
- w44.Position = 0;
- // Container child vbox7.Gtk.Box+BoxChild
- this.table3 = new global::Gtk.Table (((uint)(2)), ((uint)(3)), false);
- this.table3.Name = "table3";
- this.table3.RowSpacing = ((uint)(10));
- this.table3.ColumnSpacing = ((uint)(10));
- // Container child table3.Gtk.Table+TableChild
- this.hbox3 = new global::Gtk.HBox ();
- this.hbox3.Name = "hbox3";
- this.hbox3.Spacing = 6;
- // Container child hbox3.Gtk.Box+BoxChild
- this.includePathEntry = new global::Gtk.Entry ();
- this.includePathEntry.CanFocus = true;
- this.includePathEntry.Name = "includePathEntry";
- this.includePathEntry.IsEditable = true;
- this.includePathEntry.InvisibleChar = '●';
- this.hbox3.Add (this.includePathEntry);
- global::Gtk.Box.BoxChild w45 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.includePathEntry]));
- w45.Position = 0;
- // Container child hbox3.Gtk.Box+BoxChild
- this.quickInsertIncludeButton = new global::Gtk.Button ();
- this.quickInsertIncludeButton.TooltipMarkup = "Insert a macro.";
- this.quickInsertIncludeButton.CanFocus = true;
- this.quickInsertIncludeButton.Name = "quickInsertIncludeButton";
- this.quickInsertIncludeButton.UseUnderline = true;
- this.quickInsertIncludeButton.Label = global::Mono.Unix.Catalog.GetString (">");
- this.hbox3.Add (this.quickInsertIncludeButton);
- global::Gtk.Box.BoxChild w46 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.quickInsertIncludeButton]));
- w46.Position = 1;
- w46.Expand = false;
- w46.Fill = false;
- this.table3.Add (this.hbox3);
- global::Gtk.Table.TableChild w47 = ((global::Gtk.Table.TableChild)(this.table3 [this.hbox3]));
- w47.LeftAttach = ((uint)(1));
- w47.RightAttach = ((uint)(2));
- w47.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table3.Gtk.Table+TableChild
- this.includePathAddButton = new global::Gtk.Button ();
- this.includePathAddButton.Sensitive = false;
- this.includePathAddButton.CanFocus = true;
- this.includePathAddButton.Name = "includePathAddButton";
- this.includePathAddButton.UseUnderline = true;
- this.includePathAddButton.Label = global::Mono.Unix.Catalog.GetString ("Add");
- this.table3.Add (this.includePathAddButton);
- global::Gtk.Table.TableChild w48 = ((global::Gtk.Table.TableChild)(this.table3 [this.includePathAddButton]));
- w48.LeftAttach = ((uint)(2));
- w48.RightAttach = ((uint)(3));
- w48.XOptions = ((global::Gtk.AttachOptions)(4));
- w48.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table3.Gtk.Table+TableChild
- this.label9 = new global::Gtk.Label ();
- this.label9.Name = "label9";
- this.label9.LabelProp = global::Mono.Unix.Catalog.GetString ("Include:");
- this.table3.Add (this.label9);
- global::Gtk.Table.TableChild w49 = ((global::Gtk.Table.TableChild)(this.table3 [this.label9]));
- w49.XOptions = ((global::Gtk.AttachOptions)(4));
- w49.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table3.Gtk.Table+TableChild
- this.scrolledwindow2 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow2.CanFocus = true;
- this.scrolledwindow2.Name = "scrolledwindow2";
- this.scrolledwindow2.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow2.Gtk.Container+ContainerChild
- this.includePathTreeView = new global::Gtk.TreeView ();
- this.includePathTreeView.CanFocus = true;
- this.includePathTreeView.Name = "includePathTreeView";
- this.scrolledwindow2.Add (this.includePathTreeView);
- this.table3.Add (this.scrolledwindow2);
- global::Gtk.Table.TableChild w51 = ((global::Gtk.Table.TableChild)(this.table3 [this.scrolledwindow2]));
- w51.TopAttach = ((uint)(1));
- w51.BottomAttach = ((uint)(2));
- w51.LeftAttach = ((uint)(1));
- w51.RightAttach = ((uint)(2));
- // Container child table3.Gtk.Table+TableChild
- this.vbox5 = new global::Gtk.VBox ();
- this.vbox5.Name = "vbox5";
- this.vbox5.Spacing = 6;
- // Container child vbox5.Gtk.Box+BoxChild
- this.includePathBrowseButton = new global::Gtk.Button ();
- this.includePathBrowseButton.CanFocus = true;
- this.includePathBrowseButton.Name = "includePathBrowseButton";
- this.includePathBrowseButton.UseUnderline = true;
- this.includePathBrowseButton.Label = global::Mono.Unix.Catalog.GetString ("Browse...");
- this.vbox5.Add (this.includePathBrowseButton);
- global::Gtk.Box.BoxChild w52 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.includePathBrowseButton]));
- w52.Position = 0;
- w52.Expand = false;
- w52.Fill = false;
- // Container child vbox5.Gtk.Box+BoxChild
- this.includePathRemoveButton = new global::Gtk.Button ();
- this.includePathRemoveButton.Sensitive = false;
- this.includePathRemoveButton.CanFocus = true;
- this.includePathRemoveButton.Name = "includePathRemoveButton";
- this.includePathRemoveButton.UseUnderline = true;
- this.includePathRemoveButton.Label = global::Mono.Unix.Catalog.GetString ("Remove");
- this.vbox5.Add (this.includePathRemoveButton);
- global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.includePathRemoveButton]));
- w53.Position = 1;
- w53.Expand = false;
- w53.Fill = false;
- this.table3.Add (this.vbox5);
- global::Gtk.Table.TableChild w54 = ((global::Gtk.Table.TableChild)(this.table3 [this.vbox5]));
- w54.TopAttach = ((uint)(1));
- w54.BottomAttach = ((uint)(2));
- w54.LeftAttach = ((uint)(2));
- w54.RightAttach = ((uint)(3));
- w54.XOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox7.Add (this.table3);
- global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.vbox7 [this.table3]));
- w55.Position = 1;
- this.notebook1.Add (this.vbox7);
- global::Gtk.Notebook.NotebookChild w56 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.vbox7]));
- w56.Position = 2;
- // Notebook tab
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Paths");
- this.notebook1.SetTabLabel (this.vbox7, this.label3);
- this.label3.ShowAll ();
- this.Add (this.notebook1);
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.Show ();
- this.browseButton.Clicked += new global::System.EventHandler (this.OnBrowseButtonClick);
- this.removeLibButton.Clicked += new global::System.EventHandler (this.OnRemoveLibButtonClicked);
- this.removeLibButton.Clicked += new global::System.EventHandler (this.OnLibRemoved);
- this.libTreeView.CursorChanged += new global::System.EventHandler (this.OnLibTreeViewCursorChanged);
- this.libAddEntry.Changed += new global::System.EventHandler (this.OnLibAddEntryChanged);
- this.libAddEntry.Activated += new global::System.EventHandler (this.OnLibAddEntryActivated);
- this.addLibButton.Clicked += new global::System.EventHandler (this.OnLibAdded);
- this.libPathBrowseButton.Clicked += new global::System.EventHandler (this.OnLibPathBrowseButtonClick);
- this.libPathRemoveButton.Clicked += new global::System.EventHandler (this.OnLibPathRemoveButtonClicked);
- this.libPathRemoveButton.Clicked += new global::System.EventHandler (this.OnLibPathRemoved);
- this.libPathTreeView.CursorChanged += new global::System.EventHandler (this.OnLibPathTreeViewCursorChanged);
- this.libPathAddButton.Clicked += new global::System.EventHandler (this.OnLibPathAdded);
- this.libPathEntry.Changed += new global::System.EventHandler (this.OnLibPathEntryChanged);
- this.libPathEntry.Activated += new global::System.EventHandler (this.OnLibPathEntryActivated);
- this.includePathBrowseButton.Clicked += new global::System.EventHandler (this.OnIncludePathBrowseButtonClick);
- this.includePathRemoveButton.Clicked += new global::System.EventHandler (this.OnIncludePathRemoveButtonClicked);
- this.includePathRemoveButton.Clicked += new global::System.EventHandler (this.OnIncludePathRemoved);
- this.includePathTreeView.CursorChanged += new global::System.EventHandler (this.OnIncludePathTreeViewCursorChanged);
- this.includePathAddButton.Clicked += new global::System.EventHandler (this.OnIncludePathAdded);
- this.includePathEntry.Changed += new global::System.EventHandler (this.OnIncludePathEntryChanged);
- this.includePathEntry.Activated += new global::System.EventHandler (this.OnIncludePathEntryActivated);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.CompilerPanel.cs b/main/src/addins/CBinding/gtk-gui/CBinding.CompilerPanel.cs
deleted file mode 100644
index be3c43f1ce..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.CompilerPanel.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class CompilerPanel
- {
- private global::Gtk.Table table2;
- private global::Gtk.ComboBox compilerComboBox;
- private global::Gtk.CheckButton useCcacheCheckBox;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.CompilerPanel
- global::Stetic.BinContainer.Attach (this);
- this.Name = "CBinding.CompilerPanel";
- // Container child CBinding.CompilerPanel.Gtk.Container+ContainerChild
- this.table2 = new global::Gtk.Table (((uint)(3)), ((uint)(3)), false);
- this.table2.Name = "table2";
- this.table2.RowSpacing = ((uint)(6));
- this.table2.ColumnSpacing = ((uint)(6));
- // Container child table2.Gtk.Table+TableChild
- this.compilerComboBox = global::Gtk.ComboBox.NewText ();
- this.compilerComboBox.Name = "compilerComboBox";
- this.table2.Add (this.compilerComboBox);
- global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.table2 [this.compilerComboBox]));
- w1.TopAttach = ((uint)(1));
- w1.BottomAttach = ((uint)(2));
- w1.LeftAttach = ((uint)(1));
- w1.RightAttach = ((uint)(2));
- w1.XOptions = ((global::Gtk.AttachOptions)(4));
- w1.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table2.Gtk.Table+TableChild
- this.useCcacheCheckBox = new global::Gtk.CheckButton ();
- this.useCcacheCheckBox.CanFocus = true;
- this.useCcacheCheckBox.Name = "useCcacheCheckBox";
- this.useCcacheCheckBox.Label = global::Mono.Unix.Catalog.GetString ("Use ccache");
- this.useCcacheCheckBox.DrawIndicator = true;
- this.useCcacheCheckBox.UseUnderline = true;
- this.table2.Add (this.useCcacheCheckBox);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table2 [this.useCcacheCheckBox]));
- w2.TopAttach = ((uint)(2));
- w2.BottomAttach = ((uint)(3));
- w2.LeftAttach = ((uint)(1));
- w2.RightAttach = ((uint)(2));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- this.Add (this.table2);
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.Show ();
- this.compilerComboBox.Changed += new global::System.EventHandler (this.OnCompilerComboBoxChanged);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.EditPackagesDialog.cs b/main/src/addins/CBinding/gtk-gui/CBinding.EditPackagesDialog.cs
deleted file mode 100644
index 71883f5a67..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.EditPackagesDialog.cs
+++ /dev/null
@@ -1,262 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class EditPackagesDialog
- {
- private global::Gtk.VPaned vpaned1;
-
- private global::Gtk.HBox hbox1;
-
- private global::Gtk.Notebook notebook1;
-
- private global::Gtk.ScrolledWindow scrolledwindow1;
-
- private global::Gtk.TreeView normalPackageTreeView;
-
- private global::Gtk.Label labelSystemPackages;
-
- private global::Gtk.ScrolledWindow scrolledwindow3;
-
- private global::Gtk.TreeView projectPackageTreeView;
-
- private global::Gtk.Label labelProjectPackages;
-
- private global::Gtk.VBox vbox3;
-
- private global::Gtk.Fixed fixed1;
-
- private global::Gtk.Button detailsButton;
-
- private global::Gtk.Table table1;
-
- private global::Gtk.Label label3;
-
- private global::Gtk.ScrolledWindow scrolledwindow2;
-
- private global::Gtk.TreeView selectedPackageTreeView;
-
- private global::Gtk.VBox vbox2;
-
- private global::Gtk.Button removeButton;
-
- private global::MonoDevelop.Components.ImageView iconRemove;
-
- private global::Gtk.Button buttonCancel;
-
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.EditPackagesDialog
- this.Name = "CBinding.EditPackagesDialog";
- this.Title = global::Mono.Unix.Catalog.GetString ("Edit packages");
- this.Modal = true;
- // Internal child CBinding.EditPackagesDialog.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.BorderWidth = ((uint)(2));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.vpaned1 = new global::Gtk.VPaned ();
- this.vpaned1.CanFocus = true;
- this.vpaned1.Name = "vpaned1";
- this.vpaned1.Position = 183;
- this.vpaned1.BorderWidth = ((uint)(6));
- // Container child vpaned1.Gtk.Paned+PanedChild
- this.hbox1 = new global::Gtk.HBox ();
- this.hbox1.Name = "hbox1";
- this.hbox1.Spacing = 6;
- // Container child hbox1.Gtk.Box+BoxChild
- this.notebook1 = new global::Gtk.Notebook ();
- this.notebook1.CanFocus = true;
- this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 0;
- // Container child notebook1.Gtk.Notebook+NotebookChild
- this.scrolledwindow1 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow1.CanFocus = true;
- this.scrolledwindow1.Name = "scrolledwindow1";
- this.scrolledwindow1.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow1.Gtk.Container+ContainerChild
- this.normalPackageTreeView = new global::Gtk.TreeView ();
- this.normalPackageTreeView.CanFocus = true;
- this.normalPackageTreeView.Name = "normalPackageTreeView";
- this.scrolledwindow1.Add (this.normalPackageTreeView);
- this.notebook1.Add (this.scrolledwindow1);
- // Notebook tab
- this.labelSystemPackages = new global::Gtk.Label ();
- this.labelSystemPackages.Name = "labelSystemPackages";
- this.labelSystemPackages.LabelProp = global::Mono.Unix.Catalog.GetString ("System Packages");
- this.notebook1.SetTabLabel (this.scrolledwindow1, this.labelSystemPackages);
- this.labelSystemPackages.ShowAll ();
- // Container child notebook1.Gtk.Notebook+NotebookChild
- this.scrolledwindow3 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow3.CanFocus = true;
- this.scrolledwindow3.Name = "scrolledwindow3";
- this.scrolledwindow3.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow3.Gtk.Container+ContainerChild
- this.projectPackageTreeView = new global::Gtk.TreeView ();
- this.projectPackageTreeView.CanFocus = true;
- this.projectPackageTreeView.Name = "projectPackageTreeView";
- this.scrolledwindow3.Add (this.projectPackageTreeView);
- this.notebook1.Add (this.scrolledwindow3);
- global::Gtk.Notebook.NotebookChild w5 = ((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.scrolledwindow3]));
- w5.Position = 1;
- // Notebook tab
- this.labelProjectPackages = new global::Gtk.Label ();
- this.labelProjectPackages.Name = "labelProjectPackages";
- this.labelProjectPackages.LabelProp = global::Mono.Unix.Catalog.GetString ("Project Packages");
- this.notebook1.SetTabLabel (this.scrolledwindow3, this.labelProjectPackages);
- this.labelProjectPackages.ShowAll ();
- this.hbox1.Add (this.notebook1);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.notebook1]));
- w6.Position = 0;
- // Container child hbox1.Gtk.Box+BoxChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
- // Container child vbox3.Gtk.Box+BoxChild
- this.fixed1 = new global::Gtk.Fixed ();
- this.fixed1.HeightRequest = 21;
- this.fixed1.Name = "fixed1";
- this.fixed1.HasWindow = false;
- this.vbox3.Add (this.fixed1);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.fixed1]));
- w7.Position = 0;
- w7.Expand = false;
- w7.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.detailsButton = new global::Gtk.Button ();
- this.detailsButton.WidthRequest = 33;
- this.detailsButton.HeightRequest = 33;
- this.detailsButton.Sensitive = false;
- this.detailsButton.CanFocus = true;
- this.detailsButton.Name = "detailsButton";
- this.detailsButton.UseUnderline = true;
- this.detailsButton.Label = global::Mono.Unix.Catalog.GetString ("...");
- this.vbox3.Add (this.detailsButton);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.detailsButton]));
- w8.Position = 1;
- w8.Expand = false;
- w8.Fill = false;
- this.hbox1.Add (this.vbox3);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3]));
- w9.Position = 1;
- w9.Expand = false;
- w9.Fill = false;
- this.vpaned1.Add (this.hbox1);
- global::Gtk.Paned.PanedChild w10 = ((global::Gtk.Paned.PanedChild)(this.vpaned1 [this.hbox1]));
- w10.Resize = false;
- // Container child vpaned1.Gtk.Paned+PanedChild
- this.table1 = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.Xalign = 0F;
- this.label3.Yalign = 0F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Selected packages:");
- this.table1.Add (this.label3);
- global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 [this.label3]));
- w11.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.scrolledwindow2 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow2.CanFocus = true;
- this.scrolledwindow2.Name = "scrolledwindow2";
- this.scrolledwindow2.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow2.Gtk.Container+ContainerChild
- this.selectedPackageTreeView = new global::Gtk.TreeView ();
- this.selectedPackageTreeView.CanFocus = true;
- this.selectedPackageTreeView.Name = "selectedPackageTreeView";
- this.scrolledwindow2.Add (this.selectedPackageTreeView);
- this.table1.Add (this.scrolledwindow2);
- global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1 [this.scrolledwindow2]));
- w13.TopAttach = ((uint)(1));
- w13.BottomAttach = ((uint)(2));
- w13.XOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.vbox2 = new global::Gtk.VBox ();
- this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
- // Container child vbox2.Gtk.Box+BoxChild
- this.removeButton = new global::Gtk.Button ();
- this.removeButton.TooltipMarkup = "Remove selected package from the project.";
- this.removeButton.WidthRequest = 33;
- this.removeButton.HeightRequest = 33;
- this.removeButton.Sensitive = false;
- this.removeButton.CanFocus = true;
- this.removeButton.Name = "removeButton";
- // Container child removeButton.Gtk.Container+ContainerChild
- this.iconRemove = new global::MonoDevelop.Components.ImageView ();
- this.iconRemove.Name = "iconRemove";
- this.iconRemove.IconId = "gtk-remove";
- this.iconRemove.IconSize = ((global::Gtk.IconSize)(1));
- this.removeButton.Add (this.iconRemove);
- this.vbox2.Add (this.removeButton);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.removeButton]));
- w15.Position = 0;
- w15.Expand = false;
- w15.Fill = false;
- this.table1.Add (this.vbox2);
- global::Gtk.Table.TableChild w16 = ((global::Gtk.Table.TableChild)(this.table1 [this.vbox2]));
- w16.TopAttach = ((uint)(1));
- w16.BottomAttach = ((uint)(2));
- w16.LeftAttach = ((uint)(1));
- w16.RightAttach = ((uint)(2));
- w16.XOptions = ((global::Gtk.AttachOptions)(4));
- this.vpaned1.Add (this.table1);
- w1.Add (this.vpaned1);
- global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(w1 [this.vpaned1]));
- w18.Position = 0;
- w18.Padding = ((uint)(3));
- // Internal child CBinding.EditPackagesDialog.ActionArea
- global::Gtk.HButtonBox w19 = this.ActionArea;
- w19.Name = "dialog1_ActionArea";
- w19.Spacing = 6;
- w19.BorderWidth = ((uint)(5));
- w19.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonCancel = new global::Gtk.Button ();
- this.buttonCancel.CanDefault = true;
- this.buttonCancel.CanFocus = true;
- this.buttonCancel.Name = "buttonCancel";
- this.buttonCancel.UseStock = true;
- this.buttonCancel.UseUnderline = true;
- this.buttonCancel.Label = "gtk-cancel";
- this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w20 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w19 [this.buttonCancel]));
- w20.Expand = false;
- w20.Fill = false;
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w21 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w19 [this.buttonOk]));
- w21.Position = 1;
- w21.Expand = false;
- w21.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 580;
- this.DefaultHeight = 449;
- this.Hide ();
- this.notebook1.SwitchPage += new global::Gtk.SwitchPageHandler (this.OnNotebook1SwitchPage);
- this.normalPackageTreeView.CursorChanged += new global::System.EventHandler (this.OnNonSelectedPackageCursorChanged);
- this.projectPackageTreeView.CursorChanged += new global::System.EventHandler (this.OnNonSelectedPackageCursorChanged);
- this.detailsButton.Clicked += new global::System.EventHandler (this.OnDetailsButtonClicked);
- this.removeButton.Clicked += new global::System.EventHandler (this.OnRemoveButtonClicked);
- this.removeButton.Clicked += new global::System.EventHandler (this.OnRemoveButtonClick);
- this.selectedPackageTreeView.CursorChanged += new global::System.EventHandler (this.OnSelectedPackagesTreeViewCursorChanged);
- this.buttonCancel.Clicked += new global::System.EventHandler (this.OnCancelButtonClick);
- this.buttonOk.Clicked += new global::System.EventHandler (this.OnOkButtonClick);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.GeneralOptionsPanel.cs b/main/src/addins/CBinding/gtk-gui/CBinding.GeneralOptionsPanel.cs
deleted file mode 100644
index 257314dcef..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.GeneralOptionsPanel.cs
+++ /dev/null
@@ -1,191 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class GeneralOptionsPanel
- {
- private global::Gtk.Table table1;
-
- private global::Gtk.ComboBox cCombo;
-
- private global::Gtk.ComboBox cppCombo;
-
- private global::Gtk.Button ctagsBrowse;
-
- private global::Gtk.HBox hboxBtnBrowse;
-
- private global::MonoDevelop.Components.ImageView ctagsBrowseIcon;
-
- private global::Gtk.Label ctagsBrowselabel;
-
- private global::Gtk.Entry ctagsEntry;
-
- private global::Gtk.Label label1;
-
- private global::Gtk.Label label2;
-
- private global::Gtk.Label label3;
-
- private global::Gtk.CheckButton parseLocalVariablesCheck;
-
- private global::Gtk.CheckButton parseSystemTagsCheck;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.GeneralOptionsPanel
- global::Stetic.BinContainer.Attach (this);
- this.Name = "CBinding.GeneralOptionsPanel";
- // Container child CBinding.GeneralOptionsPanel.Gtk.Container+ContainerChild
- this.table1 = new global::Gtk.Table (((uint)(5)), ((uint)(3)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.cCombo = global::Gtk.ComboBox.NewText ();
- this.cCombo.TooltipMarkup = "Default compiler to use for new C projects.";
- this.cCombo.Name = "cCombo";
- this.table1.Add (this.cCombo);
- global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.table1 [this.cCombo]));
- w1.LeftAttach = ((uint)(1));
- w1.RightAttach = ((uint)(2));
- w1.XOptions = ((global::Gtk.AttachOptions)(4));
- w1.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.cppCombo = global::Gtk.ComboBox.NewText ();
- this.cppCombo.TooltipMarkup = "Default compiler to use for new C++ projects.";
- this.cppCombo.Name = "cppCombo";
- this.table1.Add (this.cppCombo);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.cppCombo]));
- w2.TopAttach = ((uint)(1));
- w2.BottomAttach = ((uint)(2));
- w2.LeftAttach = ((uint)(1));
- w2.RightAttach = ((uint)(2));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.ctagsBrowse = new global::Gtk.Button ();
- this.ctagsBrowse.CanFocus = true;
- this.ctagsBrowse.Name = "ctagsBrowse";
- // Container child ctagsBrowse.Gtk.Container+ContainerChild
- this.hboxBtnBrowse = new global::Gtk.HBox ();
- this.hboxBtnBrowse.Name = "hboxBtnBrowse";
- this.hboxBtnBrowse.Spacing = 2;
- // Container child hboxBtnBrowse.Gtk.Box+BoxChild
- this.ctagsBrowseIcon = new global::MonoDevelop.Components.ImageView ();
- this.ctagsBrowseIcon.Name = "ctagsBrowseIcon";
- this.ctagsBrowseIcon.IconId = "gtk-open";
- this.ctagsBrowseIcon.IconSize = ((global::Gtk.IconSize)(1));
- this.hboxBtnBrowse.Add (this.ctagsBrowseIcon);
- global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hboxBtnBrowse [this.ctagsBrowseIcon]));
- w3.Position = 0;
- w3.Expand = false;
- w3.Fill = false;
- // Container child hboxBtnBrowse.Gtk.Box+BoxChild
- this.ctagsBrowselabel = new global::Gtk.Label ();
- this.ctagsBrowselabel.Name = "ctagsBrowselabel";
- this.ctagsBrowselabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Browse");
- this.ctagsBrowselabel.UseUnderline = true;
- this.hboxBtnBrowse.Add (this.ctagsBrowselabel);
- global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hboxBtnBrowse [this.ctagsBrowselabel]));
- w4.Position = 1;
- w4.Expand = false;
- w4.Fill = false;
- this.ctagsBrowse.Add (this.hboxBtnBrowse);
- this.table1.Add (this.ctagsBrowse);
- global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.ctagsBrowse]));
- w6.TopAttach = ((uint)(2));
- w6.BottomAttach = ((uint)(3));
- w6.LeftAttach = ((uint)(2));
- w6.RightAttach = ((uint)(3));
- w6.XOptions = ((global::Gtk.AttachOptions)(4));
- w6.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.ctagsEntry = new global::Gtk.Entry ();
- this.ctagsEntry.CanFocus = true;
- this.ctagsEntry.Name = "ctagsEntry";
- this.ctagsEntry.IsEditable = true;
- this.ctagsEntry.InvisibleChar = '●';
- this.table1.Add (this.ctagsEntry);
- global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.ctagsEntry]));
- w7.TopAttach = ((uint)(2));
- w7.BottomAttach = ((uint)(3));
- w7.LeftAttach = ((uint)(1));
- w7.RightAttach = ((uint)(2));
- w7.XOptions = ((global::Gtk.AttachOptions)(4));
- w7.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xpad = 10;
- this.label1.Xalign = 1F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Default C Compiler:");
- this.table1.Add (this.label1);
- global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
- w8.XOptions = ((global::Gtk.AttachOptions)(4));
- w8.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xpad = 10;
- this.label2.Xalign = 1F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Default C++ Compiler:");
- this.table1.Add (this.label2);
- global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
- w9.TopAttach = ((uint)(1));
- w9.BottomAttach = ((uint)(2));
- w9.XOptions = ((global::Gtk.AttachOptions)(4));
- w9.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.Xpad = 10;
- this.label3.Xalign = 1F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("CTags: ");
- this.label3.Justify = ((global::Gtk.Justification)(1));
- this.table1.Add (this.label3);
- global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.table1 [this.label3]));
- w10.TopAttach = ((uint)(2));
- w10.BottomAttach = ((uint)(3));
- w10.XOptions = ((global::Gtk.AttachOptions)(4));
- w10.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.parseLocalVariablesCheck = new global::Gtk.CheckButton ();
- this.parseLocalVariablesCheck.CanFocus = true;
- this.parseLocalVariablesCheck.Name = "parseLocalVariablesCheck";
- this.parseLocalVariablesCheck.Label = global::Mono.Unix.Catalog.GetString ("Parse Local Variables");
- this.parseLocalVariablesCheck.DrawIndicator = true;
- this.parseLocalVariablesCheck.UseUnderline = true;
- this.table1.Add (this.parseLocalVariablesCheck);
- global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 [this.parseLocalVariablesCheck]));
- w11.TopAttach = ((uint)(4));
- w11.BottomAttach = ((uint)(5));
- w11.XPadding = ((uint)(10));
- w11.XOptions = ((global::Gtk.AttachOptions)(4));
- w11.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.parseSystemTagsCheck = new global::Gtk.CheckButton ();
- this.parseSystemTagsCheck.TooltipMarkup = "Choose whether you want to parse system tags or not, if you do you will get completion for things like printf, but the tag parsing process will take considerably longer.";
- this.parseSystemTagsCheck.CanFocus = true;
- this.parseSystemTagsCheck.Name = "parseSystemTagsCheck";
- this.parseSystemTagsCheck.Label = global::Mono.Unix.Catalog.GetString ("Parse System Tags");
- this.parseSystemTagsCheck.DrawIndicator = true;
- this.parseSystemTagsCheck.UseUnderline = true;
- this.table1.Add (this.parseSystemTagsCheck);
- global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 [this.parseSystemTagsCheck]));
- w12.TopAttach = ((uint)(3));
- w12.BottomAttach = ((uint)(4));
- w12.XPadding = ((uint)(10));
- w12.XOptions = ((global::Gtk.AttachOptions)(4));
- w12.YOptions = ((global::Gtk.AttachOptions)(4));
- this.Add (this.table1);
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.Show ();
- this.ctagsBrowse.Clicked += new global::System.EventHandler (this.OnCtagsBrowseClicked);
- this.cppCombo.Changed += new global::System.EventHandler (this.OnCppComboChanged);
- this.cCombo.Changed += new global::System.EventHandler (this.OnCComboChanged);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.OutputOptionsPanel.cs b/main/src/addins/CBinding/gtk-gui/CBinding.OutputOptionsPanel.cs
deleted file mode 100644
index 46ab68872e..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.OutputOptionsPanel.cs
+++ /dev/null
@@ -1,158 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class OutputOptionsPanel
- {
- private global::Gtk.VBox vbox2;
- private global::Gtk.Table table1;
- private global::Gtk.Label label1;
- private global::Gtk.Label label2;
- private global::Gtk.Label label3;
- private global::Gtk.Label label4;
- private global::MonoDevelop.Components.FolderEntry outputEntry;
- private global::Gtk.Entry outputNameTextEntry;
- private global::Gtk.Entry parametersTextEntry;
- private global::Gtk.CheckButton externalConsoleCheckbox;
- private global::Gtk.CheckButton pauseCheckbox;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.OutputOptionsPanel
- global::Stetic.BinContainer.Attach (this);
- this.Name = "CBinding.OutputOptionsPanel";
- // Container child CBinding.OutputOptionsPanel.Gtk.Container+ContainerChild
- this.vbox2 = new global::Gtk.VBox ();
- this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
- this.vbox2.BorderWidth = ((uint)(3));
- // Container child vbox2.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(4)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- this.table1.BorderWidth = ((uint)(3));
- // Container child table1.Gtk.Table+TableChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xalign = 0F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Output</b>");
- this.label1.UseMarkup = true;
- this.table1.Add (this.label1);
- global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
- w1.XOptions = ((global::Gtk.AttachOptions)(4));
- w1.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xalign = 0F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Output Name:");
- this.table1.Add (this.label2);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
- w2.TopAttach = ((uint)(1));
- w2.BottomAttach = ((uint)(2));
- w2.XPadding = ((uint)(15));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.Xalign = 0F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Output Path:");
- this.table1.Add (this.label3);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label3]));
- w3.TopAttach = ((uint)(2));
- w3.BottomAttach = ((uint)(3));
- w3.XPadding = ((uint)(15));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label4 = new global::Gtk.Label ();
- this.label4.Name = "label4";
- this.label4.Xalign = 0F;
- this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("Parameters:");
- this.table1.Add (this.label4);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4]));
- w4.TopAttach = ((uint)(3));
- w4.BottomAttach = ((uint)(4));
- w4.XPadding = ((uint)(15));
- w4.XOptions = ((global::Gtk.AttachOptions)(4));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.outputEntry = new global::MonoDevelop.Components.FolderEntry ();
- this.outputEntry.Name = "outputEntry";
- this.table1.Add (this.outputEntry);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.outputEntry]));
- w5.TopAttach = ((uint)(2));
- w5.BottomAttach = ((uint)(3));
- w5.LeftAttach = ((uint)(1));
- w5.RightAttach = ((uint)(2));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.outputNameTextEntry = new global::Gtk.Entry ();
- this.outputNameTextEntry.CanFocus = true;
- this.outputNameTextEntry.Name = "outputNameTextEntry";
- this.outputNameTextEntry.IsEditable = true;
- this.outputNameTextEntry.InvisibleChar = '●';
- this.table1.Add (this.outputNameTextEntry);
- global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.outputNameTextEntry]));
- w6.TopAttach = ((uint)(1));
- w6.BottomAttach = ((uint)(2));
- w6.LeftAttach = ((uint)(1));
- w6.RightAttach = ((uint)(2));
- w6.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.parametersTextEntry = new global::Gtk.Entry ();
- this.parametersTextEntry.CanFocus = true;
- this.parametersTextEntry.Name = "parametersTextEntry";
- this.parametersTextEntry.IsEditable = true;
- this.parametersTextEntry.InvisibleChar = '●';
- this.table1.Add (this.parametersTextEntry);
- global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.parametersTextEntry]));
- w7.TopAttach = ((uint)(3));
- w7.BottomAttach = ((uint)(4));
- w7.LeftAttach = ((uint)(1));
- w7.RightAttach = ((uint)(2));
- w7.XOptions = ((global::Gtk.AttachOptions)(4));
- w7.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox2.Add (this.table1);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table1]));
- w8.Position = 0;
- w8.Expand = false;
- w8.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.externalConsoleCheckbox = new global::Gtk.CheckButton ();
- this.externalConsoleCheckbox.CanFocus = true;
- this.externalConsoleCheckbox.Name = "externalConsoleCheckbox";
- this.externalConsoleCheckbox.Label = global::Mono.Unix.Catalog.GetString ("Run on e_xternal console");
- this.externalConsoleCheckbox.Active = true;
- this.externalConsoleCheckbox.DrawIndicator = true;
- this.externalConsoleCheckbox.UseUnderline = true;
- this.vbox2.Add (this.externalConsoleCheckbox);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.externalConsoleCheckbox]));
- w9.Position = 1;
- w9.Expand = false;
- w9.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.pauseCheckbox = new global::Gtk.CheckButton ();
- this.pauseCheckbox.Sensitive = false;
- this.pauseCheckbox.CanFocus = true;
- this.pauseCheckbox.Name = "pauseCheckbox";
- this.pauseCheckbox.Label = global::Mono.Unix.Catalog.GetString ("Pause _console output");
- this.pauseCheckbox.DrawIndicator = true;
- this.pauseCheckbox.UseUnderline = true;
- this.vbox2.Add (this.pauseCheckbox);
- global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.pauseCheckbox]));
- w10.Position = 2;
- w10.Expand = false;
- w10.Fill = false;
- this.Add (this.vbox2);
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.Show ();
- this.externalConsoleCheckbox.Clicked += new global::System.EventHandler (this.OnExternalConsoleCheckboxClicked);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/CBinding.PackageDetails.cs b/main/src/addins/CBinding/gtk-gui/CBinding.PackageDetails.cs
deleted file mode 100644
index c1a4b13353..0000000000
--- a/main/src/addins/CBinding/gtk-gui/CBinding.PackageDetails.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace CBinding
-{
- public partial class PackageDetails
- {
- private global::Gtk.VBox vbox3;
- private global::Gtk.Table table1;
- private global::Gtk.Label descriptionLabel;
- private global::Gtk.Label label7;
- private global::Gtk.Label label8;
- private global::Gtk.Label label9;
- private global::Gtk.Label nameLabel;
- private global::Gtk.Label versionLabel;
- private global::Gtk.VBox vbox4;
- private global::Gtk.Label label13;
- private global::Gtk.ScrolledWindow scrolledwindow1;
- private global::Gtk.TreeView requiresTreeView;
- private global::Gtk.VBox vbox2;
- private global::Gtk.Label label1;
- private global::Gtk.HBox hbox1;
- private global::Gtk.ScrolledWindow scrolledwindow2;
- private global::Gtk.TreeView libPathsTreeView;
- private global::Gtk.ScrolledWindow scrolledwindow3;
- private global::Gtk.TreeView libsTreeView;
- private global::Gtk.VBox vbox5;
- private global::Gtk.Label label2;
- private global::Gtk.ScrolledWindow scrolledwindow4;
- private global::Gtk.TreeView cflagsTreeView;
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget CBinding.PackageDetails
- this.Name = "CBinding.PackageDetails";
- this.Title = global::Mono.Unix.Catalog.GetString ("Package Details");
- this.WindowPosition = ((global::Gtk.WindowPosition)(4));
- // Internal child CBinding.PackageDetails.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.BorderWidth = ((uint)(2));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
- this.vbox3.BorderWidth = ((uint)(3));
- // Container child vbox3.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.descriptionLabel = new global::Gtk.Label ();
- this.descriptionLabel.Name = "descriptionLabel";
- this.descriptionLabel.Xalign = 0F;
- this.descriptionLabel.Yalign = 0F;
- this.descriptionLabel.LabelProp = "label12";
- this.table1.Add (this.descriptionLabel);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.descriptionLabel]));
- w2.TopAttach = ((uint)(2));
- w2.BottomAttach = ((uint)(3));
- w2.LeftAttach = ((uint)(1));
- w2.RightAttach = ((uint)(2));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label7 = new global::Gtk.Label ();
- this.label7.Name = "label7";
- this.label7.Xalign = 0F;
- this.label7.LabelProp = global::Mono.Unix.Catalog.GetString ("Name:");
- this.table1.Add (this.label7);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label7]));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label8 = new global::Gtk.Label ();
- this.label8.Name = "label8";
- this.label8.Xalign = 0F;
- this.label8.LabelProp = global::Mono.Unix.Catalog.GetString ("Version:");
- this.table1.Add (this.label8);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.label8]));
- w4.TopAttach = ((uint)(1));
- w4.BottomAttach = ((uint)(2));
- w4.XOptions = ((global::Gtk.AttachOptions)(4));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label9 = new global::Gtk.Label ();
- this.label9.Name = "label9";
- this.label9.Xalign = 0F;
- this.label9.Yalign = 0F;
- this.label9.LabelProp = global::Mono.Unix.Catalog.GetString ("Description:");
- this.table1.Add (this.label9);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.label9]));
- w5.TopAttach = ((uint)(2));
- w5.BottomAttach = ((uint)(3));
- w5.XOptions = ((global::Gtk.AttachOptions)(4));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.nameLabel = new global::Gtk.Label ();
- this.nameLabel.Name = "nameLabel";
- this.nameLabel.Xalign = 0F;
- this.nameLabel.LabelProp = "label10";
- this.table1.Add (this.nameLabel);
- global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.nameLabel]));
- w6.LeftAttach = ((uint)(1));
- w6.RightAttach = ((uint)(2));
- w6.XOptions = ((global::Gtk.AttachOptions)(4));
- w6.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.versionLabel = new global::Gtk.Label ();
- this.versionLabel.Name = "versionLabel";
- this.versionLabel.Xalign = 0F;
- this.versionLabel.LabelProp = "label11";
- this.table1.Add (this.versionLabel);
- global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.versionLabel]));
- w7.TopAttach = ((uint)(1));
- w7.BottomAttach = ((uint)(2));
- w7.LeftAttach = ((uint)(1));
- w7.RightAttach = ((uint)(2));
- w7.XOptions = ((global::Gtk.AttachOptions)(4));
- w7.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox3.Add (this.table1);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.table1]));
- w8.Position = 0;
- w8.Expand = false;
- w8.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.vbox4 = new global::Gtk.VBox ();
- this.vbox4.Name = "vbox4";
- this.vbox4.Spacing = 6;
- // Container child vbox4.Gtk.Box+BoxChild
- this.label13 = new global::Gtk.Label ();
- this.label13.Name = "label13";
- this.label13.Xalign = 0F;
- this.label13.LabelProp = global::Mono.Unix.Catalog.GetString ("Requires:");
- this.vbox4.Add (this.label13);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.label13]));
- w9.Position = 0;
- w9.Expand = false;
- w9.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.scrolledwindow1 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow1.CanFocus = true;
- this.scrolledwindow1.Name = "scrolledwindow1";
- this.scrolledwindow1.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow1.Gtk.Container+ContainerChild
- global::Gtk.Viewport w10 = new global::Gtk.Viewport ();
- w10.ShadowType = ((global::Gtk.ShadowType)(0));
- // Container child GtkViewport.Gtk.Container+ContainerChild
- this.requiresTreeView = new global::Gtk.TreeView ();
- this.requiresTreeView.CanFocus = true;
- this.requiresTreeView.Name = "requiresTreeView";
- w10.Add (this.requiresTreeView);
- this.scrolledwindow1.Add (w10);
- this.vbox4.Add (this.scrolledwindow1);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.scrolledwindow1]));
- w13.Position = 1;
- this.vbox3.Add (this.vbox4);
- global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox4]));
- w14.Position = 1;
- // Container child vbox3.Gtk.Box+BoxChild
- this.vbox2 = new global::Gtk.VBox ();
- this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
- // Container child vbox2.Gtk.Box+BoxChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xalign = 0F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Libs:");
- this.vbox2.Add (this.label1);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.label1]));
- w15.Position = 0;
- w15.Expand = false;
- w15.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.hbox1 = new global::Gtk.HBox ();
- this.hbox1.Name = "hbox1";
- this.hbox1.Spacing = 6;
- // Container child hbox1.Gtk.Box+BoxChild
- this.scrolledwindow2 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow2.CanFocus = true;
- this.scrolledwindow2.Name = "scrolledwindow2";
- this.scrolledwindow2.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow2.Gtk.Container+ContainerChild
- global::Gtk.Viewport w16 = new global::Gtk.Viewport ();
- w16.ShadowType = ((global::Gtk.ShadowType)(0));
- // Container child GtkViewport1.Gtk.Container+ContainerChild
- this.libPathsTreeView = new global::Gtk.TreeView ();
- this.libPathsTreeView.CanFocus = true;
- this.libPathsTreeView.Name = "libPathsTreeView";
- w16.Add (this.libPathsTreeView);
- this.scrolledwindow2.Add (w16);
- this.hbox1.Add (this.scrolledwindow2);
- global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.scrolledwindow2]));
- w19.Position = 0;
- // Container child hbox1.Gtk.Box+BoxChild
- this.scrolledwindow3 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow3.CanFocus = true;
- this.scrolledwindow3.Name = "scrolledwindow3";
- this.scrolledwindow3.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow3.Gtk.Container+ContainerChild
- global::Gtk.Viewport w20 = new global::Gtk.Viewport ();
- w20.ShadowType = ((global::Gtk.ShadowType)(0));
- // Container child GtkViewport2.Gtk.Container+ContainerChild
- this.libsTreeView = new global::Gtk.TreeView ();
- this.libsTreeView.CanFocus = true;
- this.libsTreeView.Name = "libsTreeView";
- w20.Add (this.libsTreeView);
- this.scrolledwindow3.Add (w20);
- this.hbox1.Add (this.scrolledwindow3);
- global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.scrolledwindow3]));
- w23.Position = 1;
- this.vbox2.Add (this.hbox1);
- global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1]));
- w24.Position = 1;
- this.vbox3.Add (this.vbox2);
- global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox2]));
- w25.Position = 2;
- // Container child vbox3.Gtk.Box+BoxChild
- this.vbox5 = new global::Gtk.VBox ();
- this.vbox5.Name = "vbox5";
- this.vbox5.Spacing = 6;
- // Container child vbox5.Gtk.Box+BoxChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xalign = 0F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("CFlags:");
- this.vbox5.Add (this.label2);
- global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.label2]));
- w26.Position = 0;
- w26.Expand = false;
- w26.Fill = false;
- // Container child vbox5.Gtk.Box+BoxChild
- this.scrolledwindow4 = new global::Gtk.ScrolledWindow ();
- this.scrolledwindow4.CanFocus = true;
- this.scrolledwindow4.Name = "scrolledwindow4";
- this.scrolledwindow4.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child scrolledwindow4.Gtk.Container+ContainerChild
- global::Gtk.Viewport w27 = new global::Gtk.Viewport ();
- w27.ShadowType = ((global::Gtk.ShadowType)(0));
- // Container child GtkViewport3.Gtk.Container+ContainerChild
- this.cflagsTreeView = new global::Gtk.TreeView ();
- this.cflagsTreeView.CanFocus = true;
- this.cflagsTreeView.Name = "cflagsTreeView";
- w27.Add (this.cflagsTreeView);
- this.scrolledwindow4.Add (w27);
- this.vbox5.Add (this.scrolledwindow4);
- global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.scrolledwindow4]));
- w30.Position = 1;
- this.vbox3.Add (this.vbox5);
- global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox5]));
- w31.Position = 3;
- w1.Add (this.vbox3);
- global::Gtk.Box.BoxChild w32 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox3]));
- w32.Position = 0;
- // Internal child CBinding.PackageDetails.ActionArea
- global::Gtk.HButtonBox w33 = this.ActionArea;
- w33.Name = "dialog1_ActionArea";
- w33.Spacing = 6;
- w33.BorderWidth = ((uint)(5));
- w33.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w34 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w33 [this.buttonOk]));
- w34.Expand = false;
- w34.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 608;
- this.DefaultHeight = 518;
- this.Hide ();
- this.buttonOk.Clicked += new global::System.EventHandler (this.OnButtonOkClicked);
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/generated.cs b/main/src/addins/CBinding/gtk-gui/generated.cs
deleted file mode 100644
index 75935e2e55..0000000000
--- a/main/src/addins/CBinding/gtk-gui/generated.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace Stetic
-{
- internal class Gui
- {
- private static bool initialized;
-
- internal static void Initialize (Gtk.Widget iconRenderer)
- {
- if ((Stetic.Gui.initialized == false)) {
- Stetic.Gui.initialized = true;
- }
- }
- }
-
- internal class BinContainer
- {
- private Gtk.Widget child;
- private Gtk.UIManager uimanager;
-
- public static BinContainer Attach (Gtk.Bin bin)
- {
- BinContainer bc = new BinContainer ();
- bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested);
- bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated);
- bin.Added += new Gtk.AddedHandler (bc.OnAdded);
- return bc;
- }
-
- private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args)
- {
- if ((this.child != null)) {
- args.Requisition = this.child.SizeRequest ();
- }
- }
-
- private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args)
- {
- if ((this.child != null)) {
- this.child.Allocation = args.Allocation;
- }
- }
-
- private void OnAdded (object sender, Gtk.AddedArgs args)
- {
- this.child = args.Widget;
- }
-
- public void SetUiManager (Gtk.UIManager uim)
- {
- this.uimanager = uim;
- this.child.Realized += new System.EventHandler (this.OnRealized);
- }
-
- private void OnRealized (object sender, System.EventArgs args)
- {
- if ((this.uimanager != null)) {
- Gtk.Widget w;
- w = this.child.Toplevel;
- if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) {
- ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup);
- this.uimanager = null;
- }
- }
- }
- }
-
- internal class ActionGroups
- {
- public static Gtk.ActionGroup GetActionGroup (System.Type type)
- {
- return Stetic.ActionGroups.GetActionGroup (type.FullName);
- }
-
- public static Gtk.ActionGroup GetActionGroup (string name)
- {
- return null;
- }
- }
-}
diff --git a/main/src/addins/CBinding/gtk-gui/gui.stetic b/main/src/addins/CBinding/gtk-gui/gui.stetic
deleted file mode 100644
index 375e121512..0000000000
--- a/main/src/addins/CBinding/gtk-gui/gui.stetic
+++ /dev/null
@@ -1,2250 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<stetic-interface>
- <configuration>
- <images-root-path>..</images-root-path>
- <target-gtk-version>2.12</target-gtk-version>
- </configuration>
- <import>
- <widget-library name="../../../../build/bin/MonoDevelop.Ide.dll" />
- <widget-library name="../../../../build/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.Linux.dll" />
- <widget-library name="../../../../build/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll" />
- <widget-library name="../../../../build/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll" />
- <widget-library name="../../../../build/bin/Mono.TextEditor.dll" />
- <widget-library name="../../../../build/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll" />
- <widget-library name="../../../../build/AddIns/BackendBindings/MonoDevelop.CBinding.dll" internal="true" />
- </import>
- <widget class="Gtk.Bin" id="CBinding.CodeGenerationPanel" design-size="611 396">
- <property name="MemberName" />
- <child>
- <widget class="Gtk.Notebook" id="notebook1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="CurrentPage">0</property>
- <child>
- <widget class="Gtk.VBox" id="vbox6">
- <property name="MemberName" />
- <property name="Spacing">3</property>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">3</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">5</property>
- <property name="ColumnSpacing">5</property>
- <property name="BorderWidth">2</property>
- <child>
- <widget class="Gtk.Label" id="label4">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Warning Level:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label5">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Optimization Level:</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label6">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Target:</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.SpinButton" id="optimizationSpinButton">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Upper">3</property>
- <property name="PageIncrement">10</property>
- <property name="StepIncrement">1</property>
- <property name="ClimbRate">1</property>
- <property name="Numeric">True</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ComboBox" id="targetComboBox">
- <property name="MemberName" />
- <property name="IsTextCombo">True</property>
- <property name="Items" translatable="yes">Executable
-Static Library
-Shared Object</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox1">
- <property name="MemberName" />
- <property name="Spacing">1</property>
- <child>
- <widget class="Gtk.RadioButton" id="noWarningRadio">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">no warnings</property>
- <property name="Active">True</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.RadioButton" id="normalWarningRadio">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">normal</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.RadioButton" id="allWarningRadio">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">all</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="warningsAsErrorsCheckBox">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Treat warnings as errors</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">3</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.HBox" id="hbox1">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label12">
- <property name="MemberName" />
- <property name="Xpad">13</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Define Symbols:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="defineSymbolsTextEntry">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">A space seperated list of symbols to define.</property>
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">False</property>
- <property name="Padding">14</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Frame" id="frame2">
- <property name="MemberName" />
- <property name="ShadowType">None</property>
- <property name="LabelYalign">0</property>
- <child>
- <widget class="Gtk.Alignment" id="GtkAlignment">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="Yalign">0</property>
- <property name="LeftPadding">12</property>
- <child>
- <widget class="Gtk.Table" id="table5">
- <property name="MemberName" />
- <property name="NRows">2</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">9</property>
- <property name="BorderWidth">6</property>
- <child>
- <widget class="Gtk.Label" id="label11">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Extra Linker Options</property>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label7">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Extra Compiler Options</property>
- </widget>
- <packing>
- <property name="AutoSize">False</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow4">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TextView" id="extraCompilerTextView">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">A newline seperated list of extra options to send to the compiler.
-One option can be in more than one line.
-Example:
- `pkg-config
- --cflags
- cairo`</property>
- <property name="CanFocus">True</property>
- <property name="Text" translatable="yes" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="AutoSize">False</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow5">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TextView" id="extraLinkerTextView">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">A newline seperated list of extra options to send to the linker.
-One option can be in more than one line.
-Example:
- `pkg-config
- --libs
- cairo`</property>
- <property name="CanFocus">True</property>
- <property name="Text" translatable="yes" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">False</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="Gtk.Label" id="GtkLabel12">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">&lt;b&gt;Extra Options&lt;/b&gt;</property>
- <property name="UseMarkup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- </widget>
- </child>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Code Generation</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Table" id="table2">
- <property name="MemberName" />
- <property name="NRows">2</property>
- <property name="NColumns">3</property>
- <property name="RowSpacing">10</property>
- <property name="ColumnSpacing">10</property>
- <property name="BorderWidth">3</property>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.Button" id="addLibButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Add</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnLibAdded" />
- </widget>
- <packing>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label8">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Library:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="libAddEntry">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- <signal name="Changed" handler="OnLibAddEntryChanged" />
- <signal name="Activated" handler="OnLibAddEntryActivated" />
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="libTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnLibTreeViewCursorChanged" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox4">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Button" id="browseButton">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Browse...</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnBrowseButtonClick" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="removeLibButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Remove</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnRemoveLibButtonClicked" />
- <signal name="Clicked" handler="OnLibRemoved" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Libraries</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox7">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">3</property>
- <child>
- <widget class="Gtk.Table" id="table4">
- <property name="MemberName" />
- <property name="NRows">2</property>
- <property name="NColumns">3</property>
- <property name="RowSpacing">10</property>
- <property name="ColumnSpacing">10</property>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.HBox" id="hbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Entry" id="libPathEntry">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- <signal name="Changed" handler="OnLibPathEntryChanged" />
- <signal name="Activated" handler="OnLibPathEntryActivated" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="quickInsertLibButton">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">Insert a macro.</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">&gt;</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label10">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Library:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="libPathAddButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Add</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnLibPathAdded" />
- </widget>
- <packing>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow3">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="libPathTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnLibPathTreeViewCursorChanged" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox3">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Button" id="libPathBrowseButton">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Browse...</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnLibPathBrowseButtonClick" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="libPathRemoveButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Remove</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnLibPathRemoveButtonClicked" />
- <signal name="Clicked" handler="OnLibPathRemoved" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Table" id="table3">
- <property name="MemberName" />
- <property name="NRows">2</property>
- <property name="NColumns">3</property>
- <property name="RowSpacing">10</property>
- <property name="ColumnSpacing">10</property>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.HBox" id="hbox3">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Entry" id="includePathEntry">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- <signal name="Changed" handler="OnIncludePathEntryChanged" />
- <signal name="Activated" handler="OnIncludePathEntryActivated" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="quickInsertIncludeButton">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">Insert a macro.</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">&gt;</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="includePathAddButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Add</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnIncludePathAdded" />
- </widget>
- <packing>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label9">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Include:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow2">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="includePathTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnIncludePathTreeViewCursorChanged" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox5">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Button" id="includePathBrowseButton">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Browse...</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnIncludePathBrowseButtonClick" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="includePathRemoveButton">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Remove</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnIncludePathRemoveButtonClicked" />
- <signal name="Clicked" handler="OnIncludePathRemoved" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">2</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Paths</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="Gtk.Bin" id="CBinding.CompilerPanel" design-size="300 300">
- <property name="MemberName" />
- <child>
- <widget class="Gtk.Table" id="table2">
- <property name="MemberName" />
- <property name="NRows">3</property>
- <property name="NColumns">3</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.ComboBox" id="compilerComboBox">
- <property name="MemberName" />
- <property name="IsTextCombo">True</property>
- <property name="Items" translatable="yes" />
- <signal name="Changed" handler="OnCompilerComboBoxChanged" />
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="useCcacheCheckBox">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Use ccache</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="Gtk.Dialog" id="CBinding.EditPackagesDialog" design-size="580 449">
- <property name="MemberName" />
- <property name="Visible">False</property>
- <property name="Title" translatable="yes">Edit packages</property>
- <property name="Modal">True</property>
- <property name="Buttons">2</property>
- <property name="HelpButton">False</property>
- <child internal-child="VBox">
- <widget class="Gtk.VBox" id="dialog1_VBox">
- <property name="MemberName" />
- <property name="BorderWidth">2</property>
- <child>
- <widget class="Gtk.VPaned" id="vpaned1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Position">183</property>
- <property name="BorderWidth">6</property>
- <child>
- <widget class="Gtk.HBox" id="hbox1">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Notebook" id="notebook1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="CurrentPage">0</property>
- <signal name="SwitchPage" handler="OnNotebook1SwitchPage" />
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="normalPackageTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnNonSelectedPackageCursorChanged" />
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelSystemPackages">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">System Packages</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow3">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="projectPackageTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnNonSelectedPackageCursorChanged" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelProjectPackages">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Project Packages</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox3">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Fixed" id="fixed1">
- <property name="MemberName" />
- <property name="HeightRequest">21</property>
- <property name="HasWindow">False</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="detailsButton">
- <property name="MemberName" />
- <property name="WidthRequest">33</property>
- <property name="HeightRequest">33</property>
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">...</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnDetailsButtonClicked" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Resize">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">2</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="Yalign">0</property>
- <property name="LabelProp" translatable="yes">Selected packages:</property>
- </widget>
- <packing>
- <property name="AutoSize">False</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow2">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="selectedPackageTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <signal name="CursorChanged" handler="OnSelectedPackagesTreeViewCursorChanged" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Button" id="removeButton">
- <property name="MemberName" />
- <property name="WidthRequest">33</property>
- <property name="HeightRequest">33</property>
- <property name="Sensitive">False</property>
- <property name="Tooltip">Remove selected package from the project.</property>
- <property name="CanFocus">True</property>
- <property name="Type">Custom</property>
- <signal name="Clicked" handler="OnRemoveButtonClicked" />
- <signal name="Clicked" handler="OnRemoveButtonClick" />
- <child>
- <widget class="MonoDevelop.Components.ImageView" id="iconRemove">
- <property name="MemberName" />
- <property name="IconId">gtk-remove</property>
- <property name="IconSize">Menu</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">True</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Padding">3</property>
- </packing>
- </child>
- </widget>
- </child>
- <child internal-child="ActionArea">
- <widget class="Gtk.HButtonBox" id="dialog1_ActionArea">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">5</property>
- <property name="Size">2</property>
- <property name="LayoutStyle">End</property>
- <child>
- <widget class="Gtk.Button" id="buttonCancel">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-cancel</property>
- <property name="ResponseId">-6</property>
- <signal name="Clicked" handler="OnCancelButtonClick" />
- <property name="label">gtk-cancel</property>
- </widget>
- <packing>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="buttonOk">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-ok</property>
- <property name="ResponseId">-5</property>
- <signal name="Clicked" handler="OnOkButtonClick" />
- <property name="label">gtk-ok</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="Gtk.Bin" id="CBinding.OutputOptionsPanel" design-size="412 273">
- <property name="MemberName" />
- <child>
- <widget class="Gtk.VBox" id="vbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">3</property>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">4</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <property name="BorderWidth">3</property>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">&lt;b&gt;Output&lt;/b&gt;</property>
- <property name="UseMarkup">True</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Output Name:</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="XPadding">15</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Output Path:</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="XPadding">15</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label4">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Parameters:</property>
- </widget>
- <packing>
- <property name="TopAttach">3</property>
- <property name="BottomAttach">4</property>
- <property name="XPadding">15</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="MonoDevelop.Components.FolderEntry" id="outputEntry">
- <property name="MemberName" />
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">False</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="outputNameTextEntry">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">False</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">True</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="parametersTextEntry">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="TopAttach">3</property>
- <property name="BottomAttach">4</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="externalConsoleCheckbox">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Run on e_xternal console</property>
- <property name="Active">True</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnExternalConsoleCheckboxClicked" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="pauseCheckbox">
- <property name="MemberName" />
- <property name="Sensitive">False</property>
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Pause _console output</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="Gtk.Bin" id="CBinding.GeneralOptionsPanel" design-size="457 300">
- <property name="MemberName" />
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">5</property>
- <property name="NColumns">3</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.ComboBox" id="cCombo">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">Default compiler to use for new C projects.</property>
- <property name="IsTextCombo">True</property>
- <property name="Items" translatable="yes" />
- <signal name="Changed" handler="OnCComboChanged" />
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ComboBox" id="cppCombo">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">Default compiler to use for new C++ projects.</property>
- <property name="IsTextCombo">True</property>
- <property name="Items" translatable="yes" />
- <signal name="Changed" handler="OnCppComboChanged" />
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="ctagsBrowse">
- <property name="MemberName">ctagsBrowse</property>
- <property name="CanFocus">True</property>
- <property name="Type">Custom</property>
- <signal name="Clicked" handler="OnCtagsBrowseClicked" />
- <child>
- <widget class="Gtk.HBox" id="hboxBtnBrowse">
- <property name="MemberName" />
- <property name="Spacing">2</property>
- <child>
- <widget class="MonoDevelop.Components.ImageView" id="ctagsBrowseIcon">
- <property name="MemberName" />
- <property name="IconId">gtk-open</property>
- <property name="IconSize">Menu</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="ctagsBrowselabel">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">Browse</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">2</property>
- <property name="RightAttach">3</property>
- <property name="AutoSize">False</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="ctagsEntry">
- <property name="MemberName">ctagsEntry</property>
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">Default C Compiler:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">Default C++ Compiler:</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="Xpad">10</property>
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">CTags: </property>
- <property name="Justify">Right</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="parseLocalVariablesCheck">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Parse Local Variables</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="TopAttach">4</property>
- <property name="BottomAttach">5</property>
- <property name="XPadding">10</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.CheckButton" id="parseSystemTagsCheck">
- <property name="MemberName" />
- <property name="Tooltip" translatable="yes">Choose whether you want to parse system tags or not, if you do you will get completion for things like printf, but the tag parsing process will take considerably longer.</property>
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Parse System Tags</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="TopAttach">3</property>
- <property name="BottomAttach">4</property>
- <property name="XPadding">10</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="Gtk.Dialog" id="CBinding.PackageDetails" design-size="608 518">
- <property name="MemberName" />
- <property name="Visible">False</property>
- <property name="Title" translatable="yes">Package Details</property>
- <property name="WindowPosition">CenterOnParent</property>
- <property name="Buttons">1</property>
- <property name="HelpButton">False</property>
- <child internal-child="VBox">
- <widget class="Gtk.VBox" id="dialog1_VBox">
- <property name="MemberName" />
- <property name="BorderWidth">2</property>
- <child>
- <widget class="Gtk.VBox" id="vbox3">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">3</property>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">3</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <widget class="Gtk.Label" id="descriptionLabel">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="Yalign">0</property>
- <property name="LabelProp">label12</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label7">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Name:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label8">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Version:</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label9">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="Yalign">0</property>
- <property name="LabelProp" translatable="yes">Description:</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="nameLabel">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp">label10</property>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="versionLabel">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp">label11</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox4">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label13">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Requires:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow1">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.Viewport" id="GtkViewport">
- <property name="MemberName" />
- <property name="ShadowType">None</property>
- <child>
- <widget class="Gtk.TreeView" id="requiresTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Libs:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.HBox" id="hbox1">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow2">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.Viewport" id="GtkViewport1">
- <property name="MemberName" />
- <property name="ShadowType">None</property>
- <child>
- <widget class="Gtk.TreeView" id="libPathsTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow3">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.Viewport" id="GtkViewport2">
- <property name="MemberName" />
- <property name="ShadowType">None</property>
- <child>
- <widget class="Gtk.TreeView" id="libsTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox5">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">CFlags:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="scrolledwindow4">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.Viewport" id="GtkViewport3">
- <property name="MemberName" />
- <property name="ShadowType">None</property>
- <child>
- <widget class="Gtk.TreeView" id="cflagsTreeView">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <placeholder />
- </child>
- </widget>
- <packing>
- <property name="Position">3</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- </widget>
- </child>
- <child internal-child="ActionArea">
- <widget class="Gtk.HButtonBox" id="dialog1_ActionArea">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">5</property>
- <property name="Size">1</property>
- <property name="LayoutStyle">End</property>
- <child>
- <widget class="Gtk.Button" id="buttonOk">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-ok</property>
- <property name="ResponseId">-5</property>
- <signal name="Clicked" handler="OnButtonOkClicked" />
- <property name="label">gtk-ok</property>
- </widget>
- <packing>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
-</stetic-interface> \ No newline at end of file
diff --git a/main/src/addins/CBinding/icons/union-16.png b/main/src/addins/CBinding/icons/union-16.png
deleted file mode 100644
index 40aae0f994..0000000000
--- a/main/src/addins/CBinding/icons/union-16.png
+++ /dev/null
Binary files differ
diff --git a/main/src/addins/CBinding/icons/union-private-16.png b/main/src/addins/CBinding/icons/union-private-16.png
deleted file mode 100644
index cc32f48cb7..0000000000
--- a/main/src/addins/CBinding/icons/union-private-16.png
+++ /dev/null
Binary files differ
diff --git a/main/src/addins/CBinding/icons/union-protected-16.png b/main/src/addins/CBinding/icons/union-protected-16.png
deleted file mode 100644
index df75b65512..0000000000
--- a/main/src/addins/CBinding/icons/union-protected-16.png
+++ /dev/null
Binary files differ
diff --git a/main/src/addins/CBinding/icons/update.png b/main/src/addins/CBinding/icons/update.png
deleted file mode 100644
index b977611a78..0000000000
--- a/main/src/addins/CBinding/icons/update.png
+++ /dev/null
Binary files differ
diff --git a/main/src/addins/CBinding/templates/ConsoleCProject.xpt.xml b/main/src/addins/CBinding/templates/ConsoleCProject.xpt.xml
deleted file mode 100644
index 7145e507a3..0000000000
--- a/main/src/addins/CBinding/templates/ConsoleCProject.xpt.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Console Project</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-console</Icon>
- <Image id="md-console-project" />
- <LanguageName>C</LanguageName>
- <_Description>Creates simple hello world C project.</_Description>
- <DefaultFilename>ConsoleCProject</DefaultFilename>
- <GroupId>md-project-console</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- ExternalConsole = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.c" AddStandardHeader="True"><![CDATA[#include <stdio.h>
-
-int main (int argc, char *argv[])
-{
- printf ("Hello world!\n");
-
- return 0;
-}
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/ConsoleCppProject.xpt.xml b/main/src/addins/CBinding/templates/ConsoleCppProject.xpt.xml
deleted file mode 100644
index f6b109f9db..0000000000
--- a/main/src/addins/CBinding/templates/ConsoleCppProject.xpt.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Console Project</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-console</Icon>
- <Image id="md-console-project" />
- <LanguageName>CPP</LanguageName>
- <_Description>Creates simple hello world C++ project.</_Description>
- <DefaultFilename>ConsoleCppProject</DefaultFilename>
- <GroupId>md-project-console</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- ExternalConsole = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.cpp" AddStandardHeader="True"><![CDATA[#include <iostream>
-using namespace std;
-
-int main (int argc, char *argv[])
-{
- cout << "Hello world!" << endl;
-
- return 0;
-}
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/ConsoleObjCProject.xpt.xml b/main/src/addins/CBinding/templates/ConsoleObjCProject.xpt.xml
deleted file mode 100644
index fa7b3c5c39..0000000000
--- a/main/src/addins/CBinding/templates/ConsoleObjCProject.xpt.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Levi Bard"
- created = "07/30/2010"
- lastModified = "07/30/2010">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Console Project</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-console</Icon>
- <Image id="md-console-project" />
- <LanguageName>Objective C</LanguageName>
- <_Description>Creates simple hello world Objective C project.</_Description>
- <DefaultFilename>ConsoleObjCProject</DefaultFilename>
- <GroupId>md-project-console</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- ExternalConsole = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.m" AddStandardHeader="True"><![CDATA[#import <stdio.h>
-
-int main( int argc, const char *argv[] ) {
- printf( "hello world\n" );
- return 0;
-}
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCHeaderFile.xft.xml b/main/src/addins/CBinding/templates/EmptyCHeaderFile.xft.xml
deleted file mode 100644
index d9d2de4d4c..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCHeaderFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Marcos David Marin Amador"
- Language="C"
- Created="08/03/2007"
- LastModified="08/03/2007">
-
- <TemplateConfiguration>
- <_Name>Empty C Header File</_Name>
- <Icon>md-file-header</Icon>
- <_Category>General</_Category>
- <LanguageName>C</LanguageName>
- <_Description>Creates an empty C header file.</_Description>
- <DefaultFilename>EmptyCHeaderFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".h" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCProject.xpt.xml b/main/src/addins/CBinding/templates/EmptyCProject.xpt.xml
deleted file mode 100644
index a1deb60974..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCProject.xpt.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "04/12/2007"
- lastModified = "06/13/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Empty Project</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project</Icon>
- <LanguageName>C</LanguageName>
- <_Description>Creates an empty C solution.</_Description>
- <DefaultFilename>EmptyCProject</DefaultFilename>
- <GroupId>md-empty-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCSourceFile.xft.xml b/main/src/addins/CBinding/templates/EmptyCSourceFile.xft.xml
deleted file mode 100644
index 4937e8f135..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCSourceFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Marcos David Marin Amador"
- Language="C"
- Created="08/03/2007"
- LastModified="08/03/2007">
-
- <TemplateConfiguration>
- <_Name>Empty C Source File</_Name>
- <Icon>md-file-source</Icon>
- <_Category>General</_Category>
- <LanguageName>C</LanguageName>
- <_Description>Creates an empty C source file.</_Description>
- <DefaultFilename>EmptyCSourceFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".c" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCppHeaderFile.xft.xml b/main/src/addins/CBinding/templates/EmptyCppHeaderFile.xft.xml
deleted file mode 100644
index ae70dde9b8..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCppHeaderFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Marcos David Marin Amador"
- Language="CPP"
- Created="08/03/2007"
- LastModified="08/03/2007">
-
- <TemplateConfiguration>
- <_Name>Empty C++ Header File</_Name>
- <Icon>md-file-header</Icon>
- <_Category>General</_Category>
- <LanguageName>CPP</LanguageName>
- <_Description>Creates an empty C++ header file.</_Description>
- <DefaultFilename>EmptyCppHeaderFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".h" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCppProject.xpt.xml b/main/src/addins/CBinding/templates/EmptyCppProject.xpt.xml
deleted file mode 100644
index 9d0b2df2aa..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCppProject.xpt.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "04/17/2007"
- lastModified = "06/13/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Empty Project</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project</Icon>
- <LanguageName>CPP</LanguageName>
- <_Description>Creates an empty C++ solution.</_Description>
- <DefaultFilename>EmptyCppProject</DefaultFilename>
- <GroupId>md-empty-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyCppSourceFile.xft.xml b/main/src/addins/CBinding/templates/EmptyCppSourceFile.xft.xml
deleted file mode 100644
index e6c6ef83a1..0000000000
--- a/main/src/addins/CBinding/templates/EmptyCppSourceFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Marcos David Marin Amador"
- Language="CPP"
- Created="08/03/2007"
- LastModified="08/03/2007">
-
- <TemplateConfiguration>
- <_Name>Empty C++ Source File</_Name>
- <Icon>md-file-source</Icon>
- <_Category>General</_Category>
- <LanguageName>CPP</LanguageName>
- <_Description>Creates an empty C++ source file.</_Description>
- <DefaultFilename>EmptyCppSourceFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".cpp" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyObjCProject.xpt.xml b/main/src/addins/CBinding/templates/EmptyObjCProject.xpt.xml
deleted file mode 100644
index 210d4784ad..0000000000
--- a/main/src/addins/CBinding/templates/EmptyObjCProject.xpt.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Levi Bard"
- created = "07/30/2010"
- lastModified = "07/30/2010">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Console Project</_Name>
- <_Category>C</_Category>
- <Icon>md-project-console|res:c-icon-32.png</Icon>
- <LanguageName>Objective C</LanguageName>
- <_Description>Creates simple hello world Objective C project.</_Description>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "Bin"
- ExternalConsole = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.m" AddStandardHeader="True"><![CDATA[#import <stdio.h>
-
-int main( int argc, const char *argv[] ) {
- printf( "hello world\n" );
- return 0;
-}
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyObjCSourceFile.xft.xml b/main/src/addins/CBinding/templates/EmptyObjCSourceFile.xft.xml
deleted file mode 100644
index 489aefc677..0000000000
--- a/main/src/addins/CBinding/templates/EmptyObjCSourceFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Levi Bard"
- Language="Objective C"
- Created="07/10/2010"
- LastModified="07/10/2010">
-
- <TemplateConfiguration>
- <_Name>Empty Objective C Source File</_Name>
- <Icon>md-file-source</Icon>
- <_Category>General</_Category>
- <LanguageName>Objective C</LanguageName>
- <_Description>Creates an empty Objective C source file.</_Description>
- <DefaultFilename>EmptyObjCSourceFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".m" DefaultName="EmptyObjCSourceFile" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/EmptyObjCppSourceFile.xft.xml b/main/src/addins/CBinding/templates/EmptyObjCppSourceFile.xft.xml
deleted file mode 100644
index 550603c408..0000000000
--- a/main/src/addins/CBinding/templates/EmptyObjCppSourceFile.xft.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<Template
- Originator="Levi Bard"
- Language="Objective C++"
- Created="07/10/2010"
- LastModified="07/10/2010">
-
- <TemplateConfiguration>
- <_Name>Empty Objective C++ Source File</_Name>
- <Icon>md-file-source</Icon>
- <_Category>General</_Category>
- <LanguageName>Objective C++</LanguageName>
- <_Description>Creates an empty Objective C++ source file.</_Description>
- <DefaultFilename>EmptyObjCppSourceFile</DefaultFilename>
- </TemplateConfiguration>
-
- <TemplateFiles>
- <File DefaultExtension=".mm" DefaultName="EmptyObjCppSourceFile" AddStandardHeader="True"/>
- </TemplateFiles>
-
- <FileOptions/>
-
-</Template>
diff --git a/main/src/addins/CBinding/templates/SharedLibraryCProject.xpt.xml b/main/src/addins/CBinding/templates/SharedLibraryCProject.xpt.xml
deleted file mode 100644
index 0349b2dad3..0000000000
--- a/main/src/addins/CBinding/templates/SharedLibraryCProject.xpt.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Shared Library</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-library</Icon>
- <Image id="md-library-project" />
- <LanguageName>C</LanguageName>
- <_Description>Creates simple shared library C project.</_Description>
- <DefaultFilename>SharedLibraryCProject</DefaultFilename>
- <GroupId>md-shared-library-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "SharedLibrary"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.h" AddStandardHeader="True"><![CDATA[
-#ifndef __MAIN_H__
-#define __MAIN_H__
-
-/* Add function prototypes here */
-
-#endif
-]]></File>
- <File name = "main.c"><![CDATA[#include "main.h"
-
-/* Add function definitions here */
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/SharedLibraryCppProject.xpt.xml b/main/src/addins/CBinding/templates/SharedLibraryCppProject.xpt.xml
deleted file mode 100644
index 52f47fa589..0000000000
--- a/main/src/addins/CBinding/templates/SharedLibraryCppProject.xpt.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Shared Library</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-library</Icon>
- <Image id="md-library-project" />
- <LanguageName>CPP</LanguageName>
- <_Description>Creates simple shared library C++ project.</_Description>
- <DefaultFilename>SharedLibraryCppProject</DefaultFilename>
- <GroupId>md-shared-library-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "SharedLibrary"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.h" AddStandardHeader="True"><![CDATA[#ifndef __MAIN_H__
-#define __MAIN_H__
-
-// Add function prototypes here
-
-#endif
-]]></File>
- <File name = "main.cpp" AddStandardHeader="True"><![CDATA[#include "main.h"
-
-// Add function definitions here
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/CBinding/templates/StaticLibraryCProject.xpt.xml b/main/src/addins/CBinding/templates/StaticLibraryCProject.xpt.xml
deleted file mode 100644
index 88150e2653..0000000000
--- a/main/src/addins/CBinding/templates/StaticLibraryCProject.xpt.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Static Library</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-library</Icon>
- <Image id="md-library-project" />
- <LanguageName>C</LanguageName>
- <_Description>Creates simple static library C project.</_Description>
- <DefaultFilename>StaticLibraryCProject</DefaultFilename>
- <GroupId>md-static-library-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "StaticLibrary"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.h" AddStandardHeader="True"><![CDATA[#ifndef __MAIN_H__
-#define __MAIN_H__
-
-/* Add function prototypes here */
-
-#endif
-]]></File>
- <File name = "main.c" AddStandardHeader="True"><![CDATA[#include "main.h"
-
-/* Add function definitions here */
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
-
diff --git a/main/src/addins/CBinding/templates/StaticLibraryCppProject.xpt.xml b/main/src/addins/CBinding/templates/StaticLibraryCppProject.xpt.xml
deleted file mode 100644
index 14d0d3580e..0000000000
--- a/main/src/addins/CBinding/templates/StaticLibraryCppProject.xpt.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<Template
- originator = "Marcos David Marin Amador"
- created = "08/16/2007"
- lastModified = "08/16/2007">
-
- <!-- Template Header -->
- <TemplateConfiguration>
- <_Name>Static Library</_Name>
- <Category>other/misc/c</Category>
- <Icon>md-project-library</Icon>
- <Image id="md-library-project" />
- <LanguageName>CPP</LanguageName>
- <_Description>Creates simple static library C++ project.</_Description>
- <DefaultFilename>StaticLibraryCppProject</DefaultFilename>
- <GroupId>md-static-library-project</GroupId>
- </TemplateConfiguration>
-
- <!-- Template Content -->
- <Combine name = "${ProjectName}" directory = ".">
- <Project name = "${ProjectName}" directory = "." type = "C/C++">
- <Options
- Target = "StaticLibrary"
- PauseConsoleOutput = "True"
- CompilerArgs = ""
- LinkerArgs = ""/>
-
- <Files>
- <File name = "main.h" AddStandardHeader="True"><![CDATA[
-#ifndef __MAIN_H__
-#define __MAIN_H__
-
-// Add function prototypes here
-
-#endif
-]]></File>
- <File name = "main.cpp" AddStandardHeader="True"><![CDATA[#include "main.h"
-
-// Add function definitions here
-]]></File>
- </Files>
- </Project>
- </Combine>
-</Template>
diff --git a/main/src/addins/Makefile.am b/main/src/addins/Makefile.am
index 7700dac213..6dd237dad5 100644
--- a/main/src/addins/Makefile.am
+++ b/main/src/addins/Makefile.am
@@ -25,7 +25,6 @@ SUBDIRS = \
ChangeLogAddIn \
MonoDevelop.WebReferences \
MonoDevelop.RegexToolkit \
- CBinding \
MonoDevelop.AssemblyBrowser \
MonoDevelop.Debugger.Soft \
WindowsPlatform \
diff --git a/main/src/core/MonoDevelop.Ide/AssemblyInfo.cs b/main/src/core/MonoDevelop.Ide/AssemblyInfo.cs
index 1a1a28c7dc..b775eeea6d 100644
--- a/main/src/core/MonoDevelop.Ide/AssemblyInfo.cs
+++ b/main/src/core/MonoDevelop.Ide/AssemblyInfo.cs
@@ -20,7 +20,6 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("MonoDevelop.Refactoring")]
[assembly: InternalsVisibleTo("MonoDevelop.CSharpBinding")]
[assembly: InternalsVisibleTo("FSharpBinding")]
-[assembly: InternalsVisibleTo("MonoDevelop.CBinding")]
[assembly: InternalsVisibleTo("MonoDevelop.Xml")]
[assembly: InternalsVisibleTo("MonoDevelop.AspNet")]
[assembly: InternalsVisibleTo("Xamarin.Ide")]