From 77dcfe5e758049bf12da6ca112e78ca51ca540ac Mon Sep 17 00:00:00 2001 From: mrward Date: Fri, 3 Sep 2010 16:40:13 +0100 Subject: [PATCH] Move IronPython and IronRuby form designer name creation service and designer generator class to common Scripting project. --- .../Project/PythonBinding.csproj | 1 - .../Project/Src/PythonDesignerGenerator.cs | 14 +-- .../Project/Src/PythonDesignerLoader.cs | 6 +- .../Src/PythonDesignerLoaderProvider.cs | 3 +- .../NameCreationServiceTestFixture.cs | 107 ------------------ .../PythonDesignerLoaderTestFixture.cs | 3 +- .../Test/PythonBinding.Tests.csproj | 2 - .../Test/Utils/DerivedPythonDesignerLoader.cs | 8 +- .../Test/Utils/MockDesignerGenerator.cs | 99 ---------------- .../RubyBinding/Project/RubyBinding.csproj | 1 - .../Project/Src/RubyDesignerGenerator.cs | 16 +-- .../Project/Src/RubyDesignerLoader.cs | 6 +- .../Project/Src/RubyDesignerLoaderProvider.cs | 3 +- .../Project/Src/RubyNameCreationService.cs | 51 --------- .../Designer/RubyDesignerLoaderTestFixture.cs | 3 +- .../RubyBinding/Test/RubyBinding.Tests.csproj | 2 - .../Test/Utils/DerivedRubyDesignerLoader.cs | 8 +- .../Project/ICSharpCode.Scripting.csproj | 7 ++ .../Src/IScriptingDesignerGenerator.cs | 24 ++++ .../Src/ScriptingNameCreationService.cs} | 6 +- .../Designer/NameCreationServiceTests.cs} | 9 +- .../Test/ICSharpCode.Scripting.Tests.csproj | 3 + .../Test/Utils/MockDesignerGenerator.cs | 8 +- 23 files changed, 72 insertions(+), 318 deletions(-) delete mode 100644 src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs delete mode 100644 src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs create mode 100644 src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs rename src/AddIns/BackendBindings/{Python/PythonBinding/Project/Src/PythonNameCreationService.cs => Scripting/Project/Src/ScriptingNameCreationService.cs} (87%) rename src/AddIns/BackendBindings/{Ruby/RubyBinding/Test/Designer/NameCreationServiceTestFixture.cs => Scripting/Test/Designer/NameCreationServiceTests.cs} (92%) rename src/AddIns/BackendBindings/{Ruby/RubyBinding => Scripting}/Test/Utils/MockDesignerGenerator.cs (92%) diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj index 17ec708ebb..032c305f0d 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj @@ -105,7 +105,6 @@ - diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs index b5426ce5c1..08334bfa5e 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs @@ -16,26 +16,18 @@ 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; using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.PythonBinding -{ - public interface IPythonDesignerGenerator : IDesignerGenerator - { - /// - /// Updates the python form or user control's InitializeComponent method with any - /// changes to the designed form or user control. - /// - void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager); - } - +{ /// /// Form's designer generator for the Python language. /// - public class PythonDesignerGenerator : IPythonDesignerGenerator + public class PythonDesignerGenerator : IScriptingDesignerGenerator { FormsDesignerViewContent viewContent; ITextEditorOptions textEditorOptions; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs index 38dcd9c563..5163e3d947 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoader.cs @@ -30,11 +30,11 @@ namespace ICSharpCode.PythonBinding [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] public class PythonDesignerLoader : BasicDesignerLoader, IComponentCreator { - IPythonDesignerGenerator generator; + IScriptingDesignerGenerator generator; IDesignerSerializationManager serializationManager; Dictionary addedObjects = new Dictionary(); - 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 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; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs index fbc0e3f821..eff57c6270 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerLoaderProvider.cs @@ -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 public DesignerLoader CreateLoader(IDesignerGenerator generator) { - return new PythonDesignerLoader(generator as IPythonDesignerGenerator); + return new PythonDesignerLoader(generator as IScriptingDesignerGenerator); } } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs deleted file mode 100644 index 3f6698e7ca..0000000000 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/NameCreationServiceTestFixture.cs +++ /dev/null @@ -1,107 +0,0 @@ -// -// -// -// -// $Revision$ -// - -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(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")); - } - } -} diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs index 1943c04f03..b7bc81a772 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/PythonDesignerLoaderTestFixture.cs @@ -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 [Test] public void NameCreationServiceCreated() { - PythonNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as PythonNameCreationService; + ScriptingNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as ScriptingNameCreationService; Assert.IsNotNull(service); } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj index 35bfcc9471..462304bfca 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj @@ -297,7 +297,6 @@ - @@ -435,7 +434,6 @@ - diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs index de74f4df49..25143b94b1 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonDesignerLoader.cs @@ -6,14 +6,16 @@ // 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 /// public class DerivedPythonDesignerLoader : PythonDesignerLoader { - public DerivedPythonDesignerLoader(IPythonDesignerGenerator generator) : base(generator) + public DerivedPythonDesignerLoader(IScriptingDesignerGenerator generator) : base(generator) { } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs deleted file mode 100644 index 1579e576ef..0000000000 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs +++ /dev/null @@ -1,99 +0,0 @@ -// -// -// -// -// $Revision$ -// - -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 -{ - /// - /// Mock IDesignerGenerator class. - /// - 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 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(); - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj index fd6b78d9eb..90afe2d98d 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj @@ -114,7 +114,6 @@ - diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs index c2daaed61c..0bcb0b8f21 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerGenerator.cs @@ -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 - { - /// - /// Updates the Ruby form or user control's InitializeComponent method with any - /// changes to the designed form or user control. - /// - void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager); - } - /// /// Form's designer generator for the Ruby language. /// - public class RubyDesignerGenerator : IRubyDesignerGenerator + public class RubyDesignerGenerator : IScriptingDesignerGenerator { FormsDesignerViewContent viewContent; ITextEditorOptions textEditorOptions; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs index 5f2d46db4a..b2e567283d 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoader.cs @@ -30,11 +30,11 @@ namespace ICSharpCode.RubyBinding [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] public class RubyDesignerLoader : BasicDesignerLoader, IComponentCreator { - IRubyDesignerGenerator generator; + IScriptingDesignerGenerator generator; IDesignerSerializationManager serializationManager; Dictionary addedObjects = new Dictionary(); - 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 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; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs index 12f7f78a34..4654a95410 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyDesignerLoaderProvider.cs @@ -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 public DesignerLoader CreateLoader(IDesignerGenerator generator) { - return new RubyDesignerLoader(generator as IRubyDesignerGenerator); + return new RubyDesignerLoader(generator as IScriptingDesignerGenerator); } } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs deleted file mode 100644 index e885bd2add..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyNameCreationService.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// -// -// -// $Revision$ -// - -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); - } - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs index 1c6dddd92b..f9436169e2 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/RubyDesignerLoaderTestFixture.cs @@ -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 [Test] public void NameCreationServiceCreated() { - RubyNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as RubyNameCreationService; + ScriptingNameCreationService service = mockDesignerLoaderHost.GetService(typeof(INameCreationService)) as ScriptingNameCreationService; Assert.IsNotNull(service); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj index 2f5510137d..e26bc96f3d 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj @@ -273,7 +273,6 @@ - @@ -329,7 +328,6 @@ - diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs index afe6036f19..2f8d636bf6 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyDesignerLoader.cs @@ -6,14 +6,16 @@ // 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 /// public class DerivedRubyDesignerLoader : RubyDesignerLoader { - public DerivedRubyDesignerLoader(IRubyDesignerGenerator generator) : base(generator) + public DerivedRubyDesignerLoader(IScriptingDesignerGenerator generator) : base(generator) { } diff --git a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj index 14aafbe94c..6233d7ba13 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj +++ b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj @@ -70,12 +70,14 @@ + + @@ -100,6 +102,11 @@ UnitTesting False + + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} + FormsDesigner + False + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs new file mode 100644 index 0000000000..07d7fbe280 --- /dev/null +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingDesignerGenerator.cs @@ -0,0 +1,24 @@ +// +// +// +// +// $Revision$ +// + +using System; +using System.ComponentModel.Design; +using System.ComponentModel.Design.Serialization; + +using ICSharpCode.FormsDesigner; + +namespace ICSharpCode.Scripting +{ + public interface IScriptingDesignerGenerator : IDesignerGenerator + { + /// + /// Updates the form or user control's InitializeComponent method with any + /// changes to the designed form or user control. + /// + void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager); + } +} diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonNameCreationService.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingNameCreationService.cs similarity index 87% rename from src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonNameCreationService.cs rename to src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingNameCreationService.cs index cfada2ed42..1c2a22ea11 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonNameCreationService.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingNameCreationService.cs @@ -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); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/NameCreationServiceTestFixture.cs b/src/AddIns/BackendBindings/Scripting/Test/Designer/NameCreationServiceTests.cs similarity index 92% rename from src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/NameCreationServiceTestFixture.cs rename to src/AddIns/BackendBindings/Scripting/Test/Designer/NameCreationServiceTests.cs index 46a250c884..426bb3d561 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/NameCreationServiceTestFixture.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Designer/NameCreationServiceTests.cs @@ -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 { host = new MockDesignerLoaderHost(); host.Container.Add(new Button(), "button1"); - nameCreationService = new RubyNameCreationService(host); + nameCreationService = new ScriptingNameCreationService(host); } [Test] diff --git a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj index 828ed7fec7..b7db292b00 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj +++ b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj @@ -61,6 +61,7 @@ + @@ -74,6 +75,7 @@ + @@ -97,6 +99,7 @@ + diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockDesignerGenerator.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs similarity index 92% rename from src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockDesignerGenerator.cs rename to src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs index e805d0d9c0..ab8f7982e4 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockDesignerGenerator.cs @@ -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 { - /// - /// Mock IDesignerGenerator class. - /// - public class MockDesignerGenerator : IRubyDesignerGenerator + public class MockDesignerGenerator : IScriptingDesignerGenerator { FormsDesignerViewContent viewContent; IDesignerHost mergeChangesHost;