Browse Source

Move IronPython and IronRuby form designer name creation service and designer generator class to common Scripting project.

pull/1/head
mrward 15 years ago
parent
commit
77dcfe5e75
  1. 1
      src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj
  2. 12
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs
  3. 6
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs
  4. 3
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs
  5. 107
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs
  6. 3
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs
  7. 2
      src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj
  8. 8
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs
  9. 99
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs
  10. 1
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj
  11. 16
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs
  12. 6
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs
  13. 3
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs
  14. 51
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs
  15. 3
      src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs
  16. 2
      src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj
  17. 8
      src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs
  18. 7
      src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj
  19. 24
      src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs
  20. 6
      src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingNameCreationService.cs
  21. 9
      src/AddIns/BackendBindings/Scripting/Test/Designer/NameCreationServiceTests.cs
  22. 3
      src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj
  23. 8
      src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs

1
src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj

@ -105,7 +105,6 @@ @@ -105,7 +105,6 @@
<Compile Include="Src\PythonModuleCompletionItems.cs" />
<Compile Include="Src\PythonModuleCompletionItemsFactory.cs" />
<Compile Include="Src\PythonImportResolver.cs" />
<Compile Include="Src\PythonNameCreationService.cs" />
<Compile Include="Src\PythonNamespaceResolver.cs" />
<Compile Include="Src\PythonResolverContext.cs" />
<Compile Include="Src\PythonStandardLibraryPath.cs" />

12
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs

@ -16,6 +16,7 @@ using System.ComponentModel.Design.Serialization; @@ -16,6 +16,7 @@ using System.ComponentModel.Design.Serialization;
using System.Text;
using ICSharpCode.FormsDesigner;
using ICSharpCode.Scripting;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Editor;
@ -23,19 +24,10 @@ using ICSharpCode.SharpDevelop.Project; @@ -23,19 +24,10 @@ using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.PythonBinding
{
public interface IPythonDesignerGenerator : IDesignerGenerator
{
/// <summary>
/// Updates the python form or user control's InitializeComponent method with any
/// changes to the designed form or user control.
/// </summary>
void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager);
}
/// <summary>
/// Form's designer generator for the Python language.
/// </summary>
public class PythonDesignerGenerator : IPythonDesignerGenerator
public class PythonDesignerGenerator : IScriptingDesignerGenerator
{
FormsDesignerViewContent viewContent;
ITextEditorOptions textEditorOptions;

6
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs

@ -30,11 +30,11 @@ namespace ICSharpCode.PythonBinding @@ -30,11 +30,11 @@ namespace ICSharpCode.PythonBinding
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
public class PythonDesignerLoader : BasicDesignerLoader, IComponentCreator
{
IPythonDesignerGenerator generator;
IScriptingDesignerGenerator generator;
IDesignerSerializationManager serializationManager;
Dictionary<string, IComponent> addedObjects = new Dictionary<string, IComponent>();
public PythonDesignerLoader(IPythonDesignerGenerator generator)
public PythonDesignerLoader(IScriptingDesignerGenerator generator)
{
if (generator == null) {
throw new ArgumentException("Generator cannot be null.", "generator");
@ -45,7 +45,7 @@ namespace ICSharpCode.PythonBinding @@ -45,7 +45,7 @@ namespace ICSharpCode.PythonBinding
public override void BeginLoad(IDesignerLoaderHost host)
{
host.AddService(typeof(ComponentSerializationService), new CodeDomComponentSerializationService((IServiceProvider)host));
host.AddService(typeof(INameCreationService), new PythonNameCreationService(host));
host.AddService(typeof(INameCreationService), new ScriptingNameCreationService(host));
host.AddService(typeof(IDesignerSerializationService), new DesignerSerializationService(host));
ProjectResourceService projectResourceService = host.GetService(typeof(ProjectResourceService)) as ProjectResourceService;

3
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
using System;
using System.ComponentModel.Design.Serialization;
using ICSharpCode.FormsDesigner;
using ICSharpCode.Scripting;
namespace ICSharpCode.PythonBinding
{
@ -19,7 +20,7 @@ namespace ICSharpCode.PythonBinding @@ -19,7 +20,7 @@ namespace ICSharpCode.PythonBinding
public DesignerLoader CreateLoader(IDesignerGenerator generator)
{
return new PythonDesignerLoader(generator as IPythonDesignerGenerator);
return new PythonDesignerLoader(generator as IScriptingDesignerGenerator);
}
}
}

107
src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs

@ -1,107 +0,0 @@ @@ -1,107 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.ComponentModel.Design.Serialization;
using System.Windows.Forms;
using ICSharpCode.PythonBinding;
using ICSharpCode.Scripting.Tests.Utils;
using NUnit.Framework;
using PythonBinding.Tests.Utils;
namespace PythonBinding.Tests.Designer
{
[TestFixture]
public class NameCreationServiceTestFixture
{
PythonNameCreationService nameCreationService;
MockDesignerLoaderHost host;
[SetUp]
public void Init()
{
host = new MockDesignerLoaderHost();
host.Container.Add(new Button(), "button1");
nameCreationService = new PythonNameCreationService(host);
}
[Test]
public void IsValidNameReturnsFalseIfComponentInContainerAlreadyUsesName()
{
Assert.IsFalse(nameCreationService.IsValidName("button1"));
}
[Test]
public void IsValidNameReturnsTrueIfNameNotInUse()
{
Assert.IsTrue(nameCreationService.IsValidName("unknown"));
}
[Test]
public void NullReferenceNotThrownWhenHostContainerIsNull()
{
host.Container = null;
Assert.IsTrue(nameCreationService.IsValidName("button1"));
}
[Test]
public void CreateNameReturnsTypeNameFollowedByNumberOne()
{
Assert.AreEqual("button1", nameCreationService.CreateName(null, typeof(Button)));
}
[Test]
public void CreateNameReturnsTypeNameFollowedByNumberTwoIfNameExistsInContainer()
{
Assert.AreEqual("button2", nameCreationService.CreateName(host.Container, typeof(Button)));
}
[Test]
public void ValidateNameThrowsExceptionIfNameExistsInContainer()
{
Exception ex = Assert.Throws<Exception>(delegate { nameCreationService.ValidateName("button1"); });
Assert.AreEqual("Invalid name button1", ex.Message);
}
[Test]
public void ValidateNameDoesNotThrowExceptionIfNameDoesNotExistInContainer()
{
Assert.DoesNotThrow(delegate { nameCreationService.ValidateName("button2"); });
}
[Test]
public void IsValidReturnsFalseWhenNameIsNull()
{
Assert.IsFalse(nameCreationService.IsValidName(null));
}
[Test]
public void IsValidReturnsFalseWhenNameIsEmptyString()
{
Assert.IsFalse(nameCreationService.IsValidName(String.Empty));
}
[Test]
public void IsValidReturnsFalseWhenNameContainsNonLetterOrDigit()
{
Assert.IsFalse(nameCreationService.IsValidName("a%b"));
}
[Test]
public void IsValidReturnsFalseWhenFirstCharacterOfNameIsNumber()
{
Assert.IsFalse(nameCreationService.IsValidName("1abc"));
}
[Test]
public void IsValidReturnsTrueWhenFirstCharacterOfNameIsUnderscore()
{
Assert.IsTrue(nameCreationService.IsValidName("_abc"));
}
}
}

3
src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs

@ -18,6 +18,7 @@ using System.Windows.Forms; @@ -18,6 +18,7 @@ using System.Windows.Forms;
using ICSharpCode.FormsDesigner;
using ICSharpCode.FormsDesigner.Services;
using ICSharpCode.PythonBinding;
using ICSharpCode.Scripting;
using ICSharpCode.Scripting.Tests.Utils;
using NUnit.Framework;
using PythonBinding.Tests.Utils;
@ -110,7 +111,7 @@ namespace PythonBinding.Tests.Designer @@ -110,7 +111,7 @@ namespace PythonBinding.Tests.Designer
[Test]
public void NameCreationServiceCreated()
{
PythonNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as PythonNameCreationService;
ScriptingNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as ScriptingNameCreationService;
Assert.IsNotNull(service);
}

2
src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj

@ -297,7 +297,6 @@ @@ -297,7 +297,6 @@
<Compile Include="Designer\LoadUserControlWithDoublePropertyTestFixture.cs" />
<Compile Include="Designer\MergeFormTestFixture.cs" />
<Compile Include="Designer\MissingInitializeComponentMethodTestFixture.cs" />
<Compile Include="Designer\NameCreationServiceTestFixture.cs" />
<Compile Include="Designer\NoNewLineAfterInitializeComponentTestFixture.cs" />
<Compile Include="Designer\OneCompatibleMethodTestFixture.cs" />
<Compile Include="Designer\ProjectRootNamespacePassedToMergeTestFixture.cs" />
@ -435,7 +434,6 @@ @@ -435,7 +434,6 @@
<Compile Include="Utils\DerivedPythonDesignerGenerator.cs" />
<Compile Include="Utils\DerivedPythonDesignerLoader.cs" />
<Compile Include="Utils\DerivedPythonFormsDesignerDisplayBinding.cs" />
<Compile Include="Utils\MockDesignerGenerator.cs" />
<Compile Include="Utils\MockPythonConsole.cs" />
<Compile Include="Utils\MockPythonConsolePad.cs" />
<Compile Include="Utils\MockWorkbench.cs" />

8
src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs

@ -6,14 +6,16 @@ @@ -6,14 +6,16 @@
// </file>
using System;
using System.Collections;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.IO;
using ICSharpCode.PythonBinding;
using ICSharpCode.FormsDesigner;
using ICSharpCode.PythonBinding;
using ICSharpCode.Scripting;
namespace PythonBinding.Tests.Utils
{
@ -23,7 +25,7 @@ namespace PythonBinding.Tests.Utils @@ -23,7 +25,7 @@ namespace PythonBinding.Tests.Utils
/// </summary>
public class DerivedPythonDesignerLoader : PythonDesignerLoader
{
public DerivedPythonDesignerLoader(IPythonDesignerGenerator generator) : base(generator)
public DerivedPythonDesignerLoader(IScriptingDesignerGenerator generator) : base(generator)
{
}

99
src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs

@ -1,99 +0,0 @@ @@ -1,99 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Windows.Forms;
using ICSharpCode.FormsDesigner;
using ICSharpCode.PythonBinding;
using ICSharpCode.SharpDevelop;
namespace PythonBinding.Tests.Utils
{
/// <summary>
/// Mock IDesignerGenerator class.
/// </summary>
public class MockDesignerGenerator : IPythonDesignerGenerator
{
FormsDesignerViewContent viewContent;
IDesignerHost mergeChangesHost;
IDesignerSerializationManager mergeChangesSerializationManager;
public MockDesignerGenerator()
{
}
public CodeDomProvider CodeDomProvider {
get { return null; }
}
public FormsDesignerViewContent ViewContent {
get { return this.viewContent; }
}
public void Attach(FormsDesignerViewContent viewContent)
{
this.viewContent = viewContent;
}
public void Detach()
{
this.viewContent = null;
}
public IEnumerable<OpenedFile> GetSourceFiles(out OpenedFile designerCodeFile)
{
designerCodeFile = this.viewContent.DesignerCodeFile;
return new [] {designerCodeFile};
}
public void MergeFormChanges(CodeCompileUnit unit)
{
}
public void NotifyFormRenamed(string newName)
{
}
public void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager)
{
mergeChangesHost = host;
mergeChangesSerializationManager = serializationManager;
}
public IDesignerHost MergeChangesHost {
get { return mergeChangesHost; }
}
public IDesignerSerializationManager MergeChangesSerializationManager {
get { return mergeChangesSerializationManager; }
}
public bool InsertComponentEvent(IComponent component, System.ComponentModel.EventDescriptor edesc, string eventMethodName, string body, out string file, out int position)
{
throw new NotImplementedException();
}
public ICollection GetCompatibleMethods(EventDescriptor edesc)
{
throw new NotImplementedException();
}
public ICollection GetCompatibleMethods(EventInfo edesc)
{
throw new NotImplementedException();
}
}
}

1
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj

@ -114,7 +114,6 @@ @@ -114,7 +114,6 @@
<Compile Include="Src\RubyLanguageBinding.cs" />
<Compile Include="Src\RubyProjectBinding.cs" />
<Compile Include="Src\RubyLanguageProperties.cs" />
<Compile Include="Src\RubyNameCreationService.cs" />
<Compile Include="Src\RubyOptionsPanel.cs" />
<Compile Include="Src\RubyOutputStream.cs" />
<Compile Include="Src\RubyParser.cs" />

16
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs

@ -13,33 +13,21 @@ using System.Collections.Generic; @@ -13,33 +13,21 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Drawing;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
using ICSharpCode.FormsDesigner;
using ICSharpCode.Scripting;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.RubyBinding
{
public interface IRubyDesignerGenerator : IDesignerGenerator
{
/// <summary>
/// Updates the Ruby form or user control's InitializeComponent method with any
/// changes to the designed form or user control.
/// </summary>
void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager);
}
/// <summary>
/// Form's designer generator for the Ruby language.
/// </summary>
public class RubyDesignerGenerator : IRubyDesignerGenerator
public class RubyDesignerGenerator : IScriptingDesignerGenerator
{
FormsDesignerViewContent viewContent;
ITextEditorOptions textEditorOptions;

6
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs

@ -30,11 +30,11 @@ namespace ICSharpCode.RubyBinding @@ -30,11 +30,11 @@ namespace ICSharpCode.RubyBinding
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
public class RubyDesignerLoader : BasicDesignerLoader, IComponentCreator
{
IRubyDesignerGenerator generator;
IScriptingDesignerGenerator generator;
IDesignerSerializationManager serializationManager;
Dictionary<string, IComponent> addedObjects = new Dictionary<string, IComponent>();
public RubyDesignerLoader(IRubyDesignerGenerator generator)
public RubyDesignerLoader(IScriptingDesignerGenerator generator)
{
if (generator == null) {
throw new ArgumentException("Generator cannot be null.", "generator");
@ -45,7 +45,7 @@ namespace ICSharpCode.RubyBinding @@ -45,7 +45,7 @@ namespace ICSharpCode.RubyBinding
public override void BeginLoad(IDesignerLoaderHost host)
{
host.AddService(typeof(ComponentSerializationService), new CodeDomComponentSerializationService((IServiceProvider)host));
host.AddService(typeof(INameCreationService), new RubyNameCreationService(host));
host.AddService(typeof(INameCreationService), new ScriptingNameCreationService(host));
host.AddService(typeof(IDesignerSerializationService), new DesignerSerializationService(host));
ProjectResourceService projectResourceService = host.GetService(typeof(ProjectResourceService)) as ProjectResourceService;

3
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
using System;
using System.ComponentModel.Design.Serialization;
using ICSharpCode.FormsDesigner;
using ICSharpCode.Scripting;
namespace ICSharpCode.RubyBinding
{
@ -19,7 +20,7 @@ namespace ICSharpCode.RubyBinding @@ -19,7 +20,7 @@ namespace ICSharpCode.RubyBinding
public DesignerLoader CreateLoader(IDesignerGenerator generator)
{
return new RubyDesignerLoader(generator as IRubyDesignerGenerator);
return new RubyDesignerLoader(generator as IScriptingDesignerGenerator);
}
}
}

51
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs

@ -1,51 +0,0 @@ @@ -1,51 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using ICSharpCode.FormsDesigner;
namespace ICSharpCode.RubyBinding
{
public class RubyNameCreationService : INameCreationService
{
IDesignerHost host;
XmlDesignerNameCreationService nameCreationService;
public RubyNameCreationService(IDesignerHost host)
{
this.host = host;
nameCreationService = new XmlDesignerNameCreationService(host);
}
public string CreateName(IContainer container, Type dataType)
{
return nameCreationService.CreateName(container, dataType);
}
public bool IsValidName(string name)
{
if (!nameCreationService.IsValidName(name)) {
return false;
}
if (host.Container != null) {
return host.Container.Components[name] == null;
}
return true;
}
public void ValidateName(string name)
{
if (!IsValidName(name)) {
throw new Exception("Invalid name " + name);
}
}
}
}

3
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs

@ -18,6 +18,7 @@ using System.Windows.Forms; @@ -18,6 +18,7 @@ using System.Windows.Forms;
using ICSharpCode.FormsDesigner;
using ICSharpCode.FormsDesigner.Services;
using ICSharpCode.RubyBinding;
using ICSharpCode.Scripting;
using ICSharpCode.Scripting.Tests.Utils;
using NUnit.Framework;
using RubyBinding.Tests.Utils;
@ -112,7 +113,7 @@ namespace RubyBinding.Tests.Designer @@ -112,7 +113,7 @@ namespace RubyBinding.Tests.Designer
[Test]
public void NameCreationServiceCreated()
{
RubyNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as RubyNameCreationService;
ScriptingNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as ScriptingNameCreationService;
Assert.IsNotNull(service);
}

2
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj

@ -273,7 +273,6 @@ @@ -273,7 +273,6 @@
<Compile Include="Designer\LoadUserControlWithDoublePropertyTestFixture.cs" />
<Compile Include="Designer\MergeFormTestFixture.cs" />
<Compile Include="Designer\MissingInitializeComponentMethodTestFixture.cs" />
<Compile Include="Designer\NameCreationServiceTestFixture.cs" />
<Compile Include="Designer\NoNewLineAfterInitializeComponentMethodTestFixture.cs" />
<Compile Include="Designer\NullGeneratorPassedToLoader.cs" />
<Compile Include="Designer\OneCompatibleMethodTestFixture.cs" />
@ -329,7 +328,6 @@ @@ -329,7 +328,6 @@
<Compile Include="Utils\DerivedRubyDesignerGenerator.cs" />
<Compile Include="Utils\DerivedRubyDesignerLoader.cs" />
<Compile Include="Utils\DerivedRubyFormsDesignerDisplayBinding.cs" />
<Compile Include="Utils\MockDesignerGenerator.cs" />
<Compile Include="Utils\MockRubyConsole.cs" />
<Compile Include="Utils\MockRubyConsolePad.cs" />
<Compile Include="Utils\MockWorkbench.cs" />

8
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs

@ -6,14 +6,16 @@ @@ -6,14 +6,16 @@
// </file>
using System;
using System.Collections;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.IO;
using ICSharpCode.RubyBinding;
using ICSharpCode.FormsDesigner;
using ICSharpCode.RubyBinding;
using ICSharpCode.Scripting;
namespace RubyBinding.Tests.Utils
{
@ -23,7 +25,7 @@ namespace RubyBinding.Tests.Utils @@ -23,7 +25,7 @@ namespace RubyBinding.Tests.Utils
/// </summary>
public class DerivedRubyDesignerLoader : RubyDesignerLoader
{
public DerivedRubyDesignerLoader(IRubyDesignerGenerator generator) : base(generator)
public DerivedRubyDesignerLoader(IScriptingDesignerGenerator generator) : base(generator)
{
}

7
src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj

@ -70,12 +70,14 @@ @@ -70,12 +70,14 @@
<Compile Include="Src\ILock.cs" />
<Compile Include="Src\IMemberProvider.cs" />
<Compile Include="Src\IScriptingConsoleTextEditor.cs" />
<Compile Include="Src\IScriptingDesignerGenerator.cs" />
<Compile Include="Src\IScriptingFileService.cs" />
<Compile Include="Src\ScriptingConsoleCompletionData.cs" />
<Compile Include="Src\ScriptingConsoleCompletionDataProvider.cs" />
<Compile Include="Src\ScriptingConsoleTextEditor.cs" />
<Compile Include="Src\ScriptingConsoleTextEditorKeyEventArgs.cs" />
<Compile Include="Src\ScriptingFileService.cs" />
<Compile Include="Src\ScriptingNameCreationService.cs" />
<Compile Include="Src\StringListLock.cs" />
<Compile Include="Src\ThreadSafeScriptingConsoleTextEditor.cs" />
</ItemGroup>
@ -100,6 +102,11 @@ @@ -100,6 +102,11 @@
<Name>UnitTesting</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj">
<Project>{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}</Project>
<Name>FormsDesigner</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

24
src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using ICSharpCode.FormsDesigner;
namespace ICSharpCode.Scripting
{
public interface IScriptingDesignerGenerator : IDesignerGenerator
{
/// <summary>
/// Updates the form or user control's InitializeComponent method with any
/// changes to the designed form or user control.
/// </summary>
void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager);
}
}

6
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonNameCreationService.cs → src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingNameCreationService.cs

@ -11,14 +11,14 @@ using System.ComponentModel.Design; @@ -11,14 +11,14 @@ using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using ICSharpCode.FormsDesigner;
namespace ICSharpCode.PythonBinding
namespace ICSharpCode.Scripting
{
public class PythonNameCreationService : INameCreationService
public class ScriptingNameCreationService : INameCreationService
{
IDesignerHost host;
XmlDesignerNameCreationService nameCreationService;
public PythonNameCreationService(IDesignerHost host)
public ScriptingNameCreationService(IDesignerHost host)
{
this.host = host;
nameCreationService = new XmlDesignerNameCreationService(host);

9
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/NameCreationServiceTestFixture.cs → src/AddIns/BackendBindings/Scripting/Test/Designer/NameCreationServiceTests.cs

@ -9,17 +9,16 @@ using System; @@ -9,17 +9,16 @@ using System;
using System.ComponentModel.Design.Serialization;
using System.Windows.Forms;
using ICSharpCode.RubyBinding;
using ICSharpCode.Scripting;
using ICSharpCode.Scripting.Tests.Utils;
using NUnit.Framework;
using RubyBinding.Tests.Utils;
namespace RubyBinding.Tests.Designer
namespace ICSharpCode.Scripting.Tests.Designer
{
[TestFixture]
public class NameCreationServiceTestFixture
{
RubyNameCreationService nameCreationService;
ScriptingNameCreationService nameCreationService;
MockDesignerLoaderHost host;
[SetUp]
@ -27,7 +26,7 @@ namespace RubyBinding.Tests.Designer @@ -27,7 +26,7 @@ namespace RubyBinding.Tests.Designer
{
host = new MockDesignerLoaderHost();
host.Container.Add(new Button(), "button1");
nameCreationService = new RubyNameCreationService(host);
nameCreationService = new ScriptingNameCreationService(host);
}
[Test]

3
src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj

@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
<ItemGroup>
<Folder Include="Configuration" />
<Folder Include="Console" />
<Folder Include="Designer" />
<Folder Include="Testing" />
<Folder Include="Utils" />
<Folder Include="Utils\Tests" />
@ -74,6 +75,7 @@ @@ -74,6 +75,7 @@
<Compile Include="Console\OneItemCommandLineHistoryTestFixture.cs" />
<Compile Include="Console\ScriptingConsoleTextEditorTests.cs" />
<Compile Include="Console\ThreadSafeScriptingConsoleTextEditorTests.cs" />
<Compile Include="Designer\NameCreationServiceTests.cs" />
<Compile Include="Testing\CreateTextWriterFromCreateTextWriterInfoTestFixture.cs" />
<Compile Include="Testing\CreateTextWriterInfoEqualsTestFixture.cs" />
<Compile Include="Utils\AddedComponent.cs" />
@ -97,6 +99,7 @@ @@ -97,6 +99,7 @@
<Compile Include="Utils\MockConsoleTextEditorKeyEventArgs.cs" />
<Compile Include="Utils\MockControlDispatcher.cs" />
<Compile Include="Utils\MockDebugger.cs" />
<Compile Include="Utils\MockDesignerGenerator.cs" />
<Compile Include="Utils\MockDesignerLoaderHost.cs" />
<Compile Include="Utils\MockEditableViewContent.cs" />
<Compile Include="Utils\MockEventBindingService.cs" />

8
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockDesignerGenerator.cs → src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs

@ -17,15 +17,11 @@ using System.Reflection; @@ -17,15 +17,11 @@ using System.Reflection;
using System.Windows.Forms;
using ICSharpCode.FormsDesigner;
using ICSharpCode.RubyBinding;
using ICSharpCode.SharpDevelop;
namespace RubyBinding.Tests.Utils
namespace ICSharpCode.Scripting.Tests.Utils
{
/// <summary>
/// Mock IDesignerGenerator class.
/// </summary>
public class MockDesignerGenerator : IRubyDesignerGenerator
public class MockDesignerGenerator : IScriptingDesignerGenerator
{
FormsDesignerViewContent viewContent;
IDesignerHost mergeChangesHost;
Loading…
Cancel
Save