diff options
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="{}[]().,:;+-*/%&|^!~=<>?@#'"\"/> - </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"><b>Extra Options</b></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">></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">></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"><b>Output</b></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 Binary files differdeleted file mode 100644 index 40aae0f994..0000000000 --- a/main/src/addins/CBinding/icons/union-16.png +++ /dev/null diff --git a/main/src/addins/CBinding/icons/union-private-16.png b/main/src/addins/CBinding/icons/union-private-16.png Binary files differdeleted file mode 100644 index cc32f48cb7..0000000000 --- a/main/src/addins/CBinding/icons/union-private-16.png +++ /dev/null diff --git a/main/src/addins/CBinding/icons/union-protected-16.png b/main/src/addins/CBinding/icons/union-protected-16.png Binary files differdeleted file mode 100644 index df75b65512..0000000000 --- a/main/src/addins/CBinding/icons/union-protected-16.png +++ /dev/null diff --git a/main/src/addins/CBinding/icons/update.png b/main/src/addins/CBinding/icons/update.png Binary files differdeleted file mode 100644 index b977611a78..0000000000 --- a/main/src/addins/CBinding/icons/update.png +++ /dev/null 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")] |