Browse Source

reintroduce ResourceEditor

pull/45/merge
Siegfried Pammer 13 years ago
parent
commit
01253ffb9c
  1. 17
      SharpDevelop.sln
  2. 1
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
  3. 4
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs
  4. 12
      src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj
  5. 7
      src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj.user
  6. 7
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/Commands/CopyResourceNameCommand.cs
  7. 14
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs
  8. 29
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceCodeGeneratorTool.cs
  9. 4
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceList.cs
  10. 6
      src/Main/Base/Project/Src/Services/LanguageBinding/DefaultLanguageBinding.cs
  11. 8
      src/Main/Base/Project/Src/Services/LanguageBinding/ILanguageBinding.cs

17
SharpDevelop.sln

@ -69,7 +69,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\Ba
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}"
EndProject EndProject
Project("{00000000-0000-0000-0000-000000000000}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.vbproj", "{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.vbproj", "{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}"
EndProject EndProject
@ -149,6 +149,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\A
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{0CD86A0B-73BB-4E7E-B476-AB84389164B1}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{0CD86A0B-73BB-4E7E-B476-AB84389164B1}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{E378E217-0C0C-473F-88A2-BF9748207511}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{7019F43E-DFD7-4D1C-8C96-E75D55646DE7}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{7019F43E-DFD7-4D1C-8C96-E75D55646DE7}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}"
@ -279,6 +281,10 @@ Global
{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.Build.0 = Release|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.Build.0 = Release|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Release|Any CPU.Build.0 = Release|Any CPU
{9196DD8A-B4D4-4780-8742-C5762E547FC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9196DD8A-B4D4-4780-8742-C5762E547FC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9196DD8A-B4D4-4780-8742-C5762E547FC2}.Debug|Any CPU.Build.0 = Debug|Any CPU {9196DD8A-B4D4-4780-8742-C5762E547FC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9196DD8A-B4D4-4780-8742-C5762E547FC2}.Release|Any CPU.ActiveCfg = Release|Any CPU {9196DD8A-B4D4-4780-8742-C5762E547FC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -443,10 +449,10 @@ Global
{3DF4060F-5EE0-41CF-8096-F27355FD5511}.Debug|Any CPU.Build.0 = Debug|Any CPU {3DF4060F-5EE0-41CF-8096-F27355FD5511}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DF4060F-5EE0-41CF-8096-F27355FD5511}.Release|Any CPU.ActiveCfg = Release|Any CPU {3DF4060F-5EE0-41CF-8096-F27355FD5511}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DF4060F-5EE0-41CF-8096-F27355FD5511}.Release|Any CPU.Build.0 = Release|Any CPU {3DF4060F-5EE0-41CF-8096-F27355FD5511}.Release|Any CPU.Build.0 = Release|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E378E217-0C0C-473F-88A2-BF9748207511}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Debug|Any CPU.Build.0 = Debug|Any CPU {E378E217-0C0C-473F-88A2-BF9748207511}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Release|Any CPU.ActiveCfg = Release|Any CPU {E378E217-0C0C-473F-88A2-BF9748207511}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB9FBA17-88C7-4BA6-8471-1088F8C494F5}.Release|Any CPU.Build.0 = Release|Any CPU {E378E217-0C0C-473F-88A2-BF9748207511}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -521,6 +527,7 @@ Global
{88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {D54BEB89-8CBE-475C-8BB9-836D2FD71260} {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {D54BEB89-8CBE-475C-8BB9-836D2FD71260}
{78CC29AC-CC79-4355-B1F2-97936DF198AC} = {D54BEB89-8CBE-475C-8BB9-836D2FD71260} {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {D54BEB89-8CBE-475C-8BB9-836D2FD71260}
{0CD86A0B-73BB-4E7E-B476-AB84389164B1} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {0CD86A0B-73BB-4E7E-B476-AB84389164B1} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{E378E217-0C0C-473F-88A2-BF9748207511} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{7019F43E-DFD7-4D1C-8C96-E75D55646DE7} = {39327899-ED91-4F7F-988C-4FE4E17C014D} {7019F43E-DFD7-4D1C-8C96-E75D55646DE7} = {39327899-ED91-4F7F-988C-4FE4E17C014D}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7} {1F261725-6318-4434-A1B1-6C70CE4CD324} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7} {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7}

1
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj

@ -45,6 +45,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.Build.Utilities.v4.0" /> <Reference Include="Microsoft.Build.Utilities.v4.0" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="PresentationCore"> <Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference> </Reference>

4
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs

@ -35,5 +35,9 @@ namespace CSharpBinding
public override ICodeGenerator CodeGenerator { public override ICodeGenerator CodeGenerator {
get { return new CSharpCodeGenerator(); } get { return new CSharpCodeGenerator(); }
} }
public override System.CodeDom.Compiler.CodeDomProvider CodeDomProvider {
get { return new Microsoft.CSharp.CSharpCodeProvider(); }
}
} }
} }

12
src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj

@ -21,7 +21,7 @@
<FileAlignment>4096</FileAlignment> <FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors> <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile> <TargetFrameworkProfile>
</TargetFrameworkProfile> </TargetFrameworkProfile>
</PropertyGroup> </PropertyGroup>
@ -92,6 +92,11 @@
<Compile Include="Src\ResourceCodeGeneratorTool.cs" /> <Compile Include="Src\ResourceCodeGeneratorTool.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> <ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project> <Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name> <Name>ICSharpCode.SharpDevelop</Name>
@ -107,11 +112,6 @@
<Name>ICSharpCode.Core.WinForms</Name> <Name>ICSharpCode.Core.WinForms</Name>
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj"> <ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project> <Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name> <Name>ICSharpCode.SharpDevelop.Widgets</Name>

7
src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj.user

@ -1,7 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

7
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/Commands/CopyResourceNameCommand.cs

@ -2,8 +2,9 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Windows.Forms;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Core.WinForms; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
namespace ResourceEditor namespace ResourceEditor
@ -12,10 +13,10 @@ namespace ResourceEditor
{ {
public override void Run() public override void Run()
{ {
ResourceEditorControl editor = ((ResourceEditWrapper)WorkbenchSingleton.Workbench.ActiveViewContent).ResourceEditor; ResourceEditorControl editor = ((ResourceEditWrapper)SD.Workbench.ActiveViewContent).ResourceEditor;
if(editor.ResourceList.SelectedItems.Count > 0) { if(editor.ResourceList.SelectedItems.Count > 0) {
ClipboardWrapper.SetText(editor.ResourceList.SelectedItems[0].Text); Clipboard.SetText(editor.ResourceList.SelectedItems[0].Text);
} }
} }
} }

14
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs

@ -10,13 +10,15 @@ using ICSharpCode.Core;
using ICSharpCode.Core.WinForms; using ICSharpCode.Core.WinForms;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.WinForms;
using ICSharpCode.SharpDevelop.Workbench;
namespace ResourceEditor namespace ResourceEditor
{ {
public class ResourceEditorDisplayBinding : IDisplayBinding public class ResourceEditorDisplayBinding : IDisplayBinding
{ {
// IDisplayBinding interface // IDisplayBinding interface
public bool CanCreateContentForFile(string fileName) public bool CanCreateContentForFile(FileName fileName)
{ {
return true; // definition in .addin does extension-based filtering return true; // definition in .addin does extension-based filtering
} }
@ -26,12 +28,12 @@ namespace ResourceEditor
return new ResourceEditWrapper(file); return new ResourceEditWrapper(file);
} }
public bool IsPreferredBindingForFile(string fileName) public bool IsPreferredBindingForFile(FileName fileName)
{ {
return true; return true;
} }
public double AutoDetectFileContent(string fileName, Stream fileContent, string detectedMimeType) public double AutoDetectFileContent(FileName fileName, Stream fileContent, string detectedMimeType)
{ {
return 1; return 1;
} }
@ -146,7 +148,7 @@ namespace ResourceEditor
resourceEditor.ResourceList.Items.Remove(item); resourceEditor.ResourceList.Items.Remove(item);
} }
resourceEditor.ResourceList.OnChanged(); resourceEditor.ResourceList.OnChanged();
ClipboardWrapper.SetDataObject(tmphash); SD.Clipboard.SetDataObject(tmphash);
} }
public void Copy() public void Copy()
@ -160,7 +162,7 @@ namespace ResourceEditor
object resourceValue = GetClonedResource(resourceEditor.ResourceList.Resources[item.Text].ResourceValue); object resourceValue = GetClonedResource(resourceEditor.ResourceList.Resources[item.Text].ResourceValue);
tmphash.Add(item.Text, resourceValue); // copy a clone to clipboard tmphash.Add(item.Text, resourceValue); // copy a clone to clipboard
} }
ClipboardWrapper.SetDataObject(tmphash); SD.Clipboard.SetDataObject(tmphash);
} }
public void Paste() public void Paste()
@ -169,7 +171,7 @@ namespace ResourceEditor
return; return;
} }
IDataObject dob = ClipboardWrapper.GetDataObject(); IDataObject dob = Clipboard.GetDataObject();
if (dob == null) if (dob == null)
return; return;

29
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceCodeGeneratorTool.cs

@ -8,6 +8,7 @@ using System.Resources.Tools;
using System.IO; using System.IO;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Project;
@ -29,12 +30,17 @@ namespace ResourceEditor
// Ensure that the generated code will not conflict with an // Ensure that the generated code will not conflict with an
// existing class. // existing class.
if (context.Project != null) { if (context.Project != null) {
IProjectContent pc = ParserService.GetProjectContent(context.Project); ICompilation pc = SD.ParserService.GetCompilation(context.Project);
if (pc != null) { if (pc != null) {
IClass existingClass = pc.GetClass(context.OutputNamespace + "." + StronglyTypedResourceBuilder.VerifyResourceName(Path.GetFileNameWithoutExtension(inputFilePath), pc.Language.CodeDomProvider), 0); var codeDomProvider = context.Project.LanguageBinding.CodeDomProvider;
string resourceName = Path.GetFileNameWithoutExtension(inputFilePath);
if (codeDomProvider != null) {
resourceName = StronglyTypedResourceBuilder.VerifyResourceName(resourceName, codeDomProvider);
}
var existingClass = pc.FindType(new FullTypeName(context.OutputNamespace + "." + resourceName)).GetDefinition();
if (existingClass != null) { if (existingClass != null) {
if (!IsGeneratedResourceClass(existingClass)) { if (!IsGeneratedResourceClass(existingClass)) {
context.MessageView.AppendLine(String.Format(System.Globalization.CultureInfo.CurrentCulture, ResourceService.GetString("ResourceEditor.ResourceCodeGeneratorTool.ClassConflict"), inputFilePath, existingClass.FullyQualifiedName)); context.MessageView.AppendLine(String.Format(System.Globalization.CultureInfo.CurrentCulture, ResourceService.GetString("ResourceEditor.ResourceCodeGeneratorTool.ClassConflict"), inputFilePath, existingClass.FullName));
return; return;
} }
} }
@ -66,7 +72,7 @@ namespace ResourceEditor
Path.GetFileNameWithoutExtension(inputFilePath), // baseName Path.GetFileNameWithoutExtension(inputFilePath), // baseName
generatedCodeNamespace, // generatedCodeNamespace generatedCodeNamespace, // generatedCodeNamespace
context.OutputNamespace, // resourcesNamespace context.OutputNamespace, // resourcesNamespace
context.Project.LanguageProperties.CodeDomProvider, // codeProvider context.Project.LanguageBinding.CodeDomProvider, // codeProvider
createInternalClass, // internal class createInternalClass, // internal class
out unmatchable out unmatchable
)); ));
@ -80,19 +86,18 @@ namespace ResourceEditor
/// Determines whether the specified class is a generated resource /// Determines whether the specified class is a generated resource
/// class, based on the attached attributes. /// class, based on the attached attributes.
/// </summary> /// </summary>
static bool IsGeneratedResourceClass(IClass @class) static bool IsGeneratedResourceClass(ITypeDefinition type)
{ {
IClass generatedCodeAttributeClass = @class.ProjectContent.GetClass("System.CodeDom.Compiler.GeneratedCodeAttribute", 0); var generatedCodeAttributeType = type.Compilation.FindType(typeof(System.CodeDom.Compiler.GeneratedCodeAttribute));
if (generatedCodeAttributeClass == null) { if (generatedCodeAttributeType.Kind == TypeKind.Unknown) {
LoggingService.Info("Could not find the class for 'System.CodeDom.Compiler.GeneratedCodeAttribute'."); LoggingService.Info("Could not find the class for 'System.CodeDom.Compiler.GeneratedCodeAttribute'.");
return false; return false;
} }
IReturnType generatedCodeAttribute = generatedCodeAttributeClass.DefaultReturnType;
foreach (IAttribute att in @class.Attributes) { foreach (IAttribute att in type.Attributes) {
if (att.AttributeType.Equals(generatedCodeAttribute) && if (att.AttributeType.Equals(generatedCodeAttributeType) && att.PositionalArguments.Count == 2) {
att.PositionalArguments.Count == 2 && var firstArg = att.PositionalArguments[0].ConstantValue as string;
String.Equals("System.Resources.Tools.StronglyTypedResourceBuilder", att.PositionalArguments[0] as string, StringComparison.Ordinal)) { if (string.Equals(typeof(StronglyTypedResourceBuilder).FullName, firstArg, StringComparison.Ordinal))
return true; return true;
} }
} }

4
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEdit/ResourceList.cs

@ -129,7 +129,7 @@ namespace ResourceEditor
} }
} }
public void LoadFile(string filename, Stream stream) public void LoadFile(FileName filename, Stream stream)
{ {
resources.Clear(); resources.Clear();
metadata.Clear(); metadata.Clear();
@ -168,7 +168,7 @@ namespace ResourceEditor
InitializeListView(); InitializeListView();
} }
public void SaveFile(string filename, Stream stream) public void SaveFile(FileName filename, Stream stream)
{ {
switch (Path.GetExtension(filename).ToLowerInvariant()) { switch (Path.GetExtension(filename).ToLowerInvariant()) {

6
src/Main/Base/Project/Src/Services/LanguageBinding/DefaultLanguageBinding.cs

@ -36,5 +36,11 @@ namespace ICSharpCode.SharpDevelop
return DefaultCodeGenerator.DefaultInstance; return DefaultCodeGenerator.DefaultInstance;
} }
} }
public virtual System.CodeDom.Compiler.CodeDomProvider CodeDomProvider {
get {
return null;
}
}
} }
} }

8
src/Main/Base/Project/Src/Services/LanguageBinding/ILanguageBinding.cs

@ -46,5 +46,13 @@ namespace ICSharpCode.SharpDevelop
ICodeGenerator CodeGenerator { ICodeGenerator CodeGenerator {
get; get;
} }
/// <summary>
/// Provides access to the <see cref="System.CodeDom.Compiler.CodeDomProvider" /> for this language.
/// Can be null, if not available.
/// </summary>
System.CodeDom.Compiler.CodeDomProvider CodeDomProvider {
get;
}
} }
} }

Loading…
Cancel
Save