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
path: root/main
diff options
context:
space:
mode:
authormhutch <m.j.hutchinson@gmail.com>2016-02-09 02:55:34 +0300
committerMikayla Hutchinson <m.j.hutchinson@gmail.com>2016-03-22 18:08:02 +0300
commit792f48882e650ac76cde4107211e644845895d6a (patch)
tree00a267dbd9e48a1435eb850c9c481b5de4a2c2d5 /main
parent1ed8bea8a09b45adcebc20d7ac254883c5a4c318 (diff)
Remove CBinding
It doesn't work any more - the build system hasn't been updated to MSBuild. New projects don't even have any build configurations. Removing since it's still shipping, though disabled, and conflicts with the forked and updated version at https://github.com/mhutch/cbinding
Diffstat (limited to 'main')
-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")]