Browse Source

fixed remoting issues with designer generators and toolbox

formsdesignerappdomain
Siegfried Pammer 14 years ago
parent
commit
930cb2042e
  1. 4
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerGenerator.cs
  2. 7
      src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs
  3. 2
      src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/SetupDialogControlsSideTab.cs
  4. 9
      src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs
  5. 2
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Commands/SideBarCommands.cs
  6. 19
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/AbstractDesignerGenerator.cs
  7. 4
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/CSharpDesignerGenerator.cs
  8. 4
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/VBNetDesignerGenerator.cs
  9. 4
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerLoader/NRefactoryDesignerLoader.cs
  10. 4
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesigner.AddIn.csproj
  11. 13
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesignerViewContent.cs
  12. 5
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Services/FormsMessageService.cs
  13. 1
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ConfigureSideBarDialog.cs
  14. 4
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/CustomComponentsSideTab.cs
  15. 10
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTab.cs
  16. 24
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTabItem.cs
  17. 2
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/RenameCategoryDialog.cs
  18. 18
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ToolboxProvider.cs
  19. 2
      src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj
  20. 12
      src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesignerAppDomainHost.cs
  21. 13
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/SharpDevelopDesignerLoader.cs
  22. 35
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentToolBoxItem.cs
  23. 3
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/IDesignerGenerator.cs
  24. 1
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/IProjectResourceService.cs
  25. 6
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/ToolboxService.cs

4
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerGenerator.cs

@ -22,9 +22,9 @@ namespace Grunwald.BooBinding.Designer @@ -22,9 +22,9 @@ namespace Grunwald.BooBinding.Designer
return "private " + field.Name + " as " + field.Type.BaseType;
}
protected override System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider()
protected override Type GetCodeProviderType()
{
return new Boo.Lang.CodeDom.BooCodeProvider();
return typeof(Boo.Lang.CodeDom.BooCodeProvider);
}
protected override void FixGeneratedCode(IClass formClass, CodeMemberMethod code)

7
src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerGenerator.cs

@ -32,7 +32,7 @@ namespace ICSharpCode.Scripting @@ -32,7 +32,7 @@ namespace ICSharpCode.Scripting
this.textEditorOptions = textEditorOptions;
}
public CodeDomProvider CodeDomProvider {
public Type CodeDomProviderType {
get { return null; }
}
@ -286,5 +286,10 @@ namespace ICSharpCode.Scripting @@ -286,5 +286,10 @@ namespace ICSharpCode.Scripting
{
return 0;
}
public CodeDomProvider CreateCodeDomProvider()
{
throw new NotImplementedException();
}
}
}

2
src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/SetupDialogControlsSideTab.cs

@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar; @@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar;
namespace ICSharpCode.WixBinding
{
public sealed class SetupDialogControlsSideTab : SideTabDesigner
public sealed class SetupDialogControlsSideTab : DesignerSideTab
{
SetupDialogControlsSideTab(SideBarControl sideBar, Category category, IToolboxService toolboxService)
: base(null/*TODO!!!!!!!!!!!!!!!!!!!!!!!!!*/, sideBar, category, toolboxService)

9
src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs

@ -40,10 +40,15 @@ namespace ICSharpCode.WixBinding @@ -40,10 +40,15 @@ namespace ICSharpCode.WixBinding
FormsDesignerViewContent view;
ITextEditor textEditor;
public CodeDomProvider CodeDomProvider {
get { return new CSharpCodeProvider(); }
public Type CodeDomProviderType {
get { return typeof(CSharpCodeProvider); }
}
public CodeDomProvider CreateCodeDomProvider()
{
throw new NotImplementedException();
}
public FormsDesignerViewContent ViewContent {
get { return view; }
}

2
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Commands/SideBarCommands.cs

@ -13,7 +13,7 @@ namespace ICSharpCode.FormsDesigner @@ -13,7 +13,7 @@ namespace ICSharpCode.FormsDesigner
public override void Run()
{
#warning test this!
var sidebar = Owner as SideTabDesigner;
var sidebar = Owner as DesignerSideTab;
if (sidebar != null) {
using (ConfigureSideBarDialog configureSideBarDialog = new ConfigureSideBarDialog(sidebar.Toolbox)) {
if (configureSideBarDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainWin32Window) == DialogResult.OK) {

19
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/AbstractDesignerGenerator.cs

@ -31,17 +31,22 @@ namespace ICSharpCode.FormsDesigner @@ -31,17 +31,22 @@ namespace ICSharpCode.FormsDesigner
IMethod initializeComponents;
FormsDesignerViewContent viewContent;
CodeDomProvider provider;
Type providerType;
public CodeDomProvider CodeDomProvider {
public Type CodeDomProviderType {
get {
if (this.provider == null) {
this.provider = this.CreateCodeProvider();
if (this.providerType == null) {
this.providerType = this.GetCodeProviderType();
}
return this.provider;
return this.providerType;
}
}
public CodeDomProvider CreateCodeDomProvider()
{
return (CodeDomProvider)CodeDomProviderType.Assembly.CreateInstance(CodeDomProviderType.FullName);
}
public FormsDesignerViewContent ViewContent {
get {
return viewContent;
@ -168,7 +173,7 @@ namespace ICSharpCode.FormsDesigner @@ -168,7 +173,7 @@ namespace ICSharpCode.FormsDesigner
}
}
protected abstract System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider();
protected abstract Type GetCodeProviderType();
protected abstract DomRegion GetReplaceRegion(IDocument document, IMethod method);
@ -249,7 +254,7 @@ namespace ICSharpCode.FormsDesigner @@ -249,7 +254,7 @@ namespace ICSharpCode.FormsDesigner
// generate file and get initialize components string
StringWriter writer = new StringWriter();
CodeDOMGenerator domGenerator = new CodeDOMGenerator(this.CodeDomProvider, tabs + '\t');
CodeDOMGenerator domGenerator = new CodeDOMGenerator(CreateCodeDomProvider(), tabs + '\t');
domGenerator.ConvertContentDefinition(initializeComponent, writer);
string statements = writer.ToString();

4
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/CSharpDesignerGenerator.cs

@ -17,9 +17,9 @@ namespace ICSharpCode.FormsDesigner @@ -17,9 +17,9 @@ namespace ICSharpCode.FormsDesigner
return new DomRegion(GetCursorLine(document, method), 1, method.BodyRegion.EndLine, 1);
}
protected override System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider()
protected override Type GetCodeProviderType()
{
return new Microsoft.CSharp.CSharpCodeProvider();
return typeof(Microsoft.CSharp.CSharpCodeProvider);
}
protected override string CreateEventHandler(Type eventType, string eventMethodName, string body, string indentation)

4
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerGenerator/VBNetDesignerGenerator.cs

@ -12,9 +12,9 @@ namespace ICSharpCode.FormsDesigner @@ -12,9 +12,9 @@ namespace ICSharpCode.FormsDesigner
{
public class VBNetDesignerGenerator : AbstractDesignerGenerator
{
protected override System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider()
protected override Type GetCodeProviderType()
{
return new Microsoft.VisualBasic.VBCodeProvider();
return typeof(Microsoft.VisualBasic.VBCodeProvider);
}
protected override DomRegion GetReplaceRegion(IDocument document, IMethod method)

4
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerLoader/NRefactoryDesignerLoader.cs

@ -174,7 +174,7 @@ namespace ICSharpCode.FormsDesigner @@ -174,7 +174,7 @@ namespace ICSharpCode.FormsDesigner
if ((Control.ModifierKeys & Keys.Control) == Keys.Control) {
CodeDomVerboseOutputGenerator outputGenerator = new CodeDomVerboseOutputGenerator();
outputGenerator.GenerateCodeFromMember(visitor.codeCompileUnit.Namespaces[0].Types[0], Console.Out, null);
this.Generator.CodeDomProvider.GenerateCodeFromCompileUnit(visitor.codeCompileUnit, Console.Out, null);
this.Generator.CreateCodeDomProvider().GenerateCodeFromCompileUnit(visitor.codeCompileUnit, Console.Out, null);
}
#endif
@ -270,7 +270,7 @@ namespace ICSharpCode.FormsDesigner @@ -270,7 +270,7 @@ namespace ICSharpCode.FormsDesigner
// output generated CodeDOM to the console :
#if DEBUG
if ((Control.ModifierKeys & Keys.Control) == Keys.Control) {
this.Generator.CodeDomProvider.GenerateCodeFromCompileUnit(unit, Console.Out, null);
this.Generator.CreateCodeDomProvider().GenerateCodeFromCompileUnit(unit, Console.Out, null);
}
#endif
try {

4
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesigner.AddIn.csproj

@ -120,8 +120,8 @@ @@ -120,8 +120,8 @@
<Compile Include="Toolbox\RenameCategoryDialog.Designer.cs">
<DependentUpon>RenameCategoryDialog.cs</DependentUpon>
</Compile>
<Compile Include="Toolbox\SideTabDesigner.cs" />
<Compile Include="Toolbox\SideTabItemDesigner.cs" />
<Compile Include="Toolbox\DesignerSideTab.cs" />
<Compile Include="Toolbox\DesignerSideTabItem.cs" />
<Compile Include="Toolbox\ToolboxProvider.cs" />
</ItemGroup>
<ItemGroup>

13
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesignerViewContent.cs

@ -325,8 +325,7 @@ namespace ICSharpCode.FormsDesigner @@ -325,8 +325,7 @@ namespace ICSharpCode.FormsDesigner
LoggingService.Info("Form Designer: BEGIN INITIALIZE");
appDomainHost.AddService(typeof(IMessageService), new FormsMessageService());
appDomainHost.AddService(typeof(System.Windows.Forms.Design.IUIService), new UIService(this));
appDomainHost.AddService(typeof(System.Drawing.Design.IToolboxService), toolbox.ToolboxService);
appDomainHost.AddService(typeof(System.Windows.Forms.Design.IUIService), new UIService(this, this));
appDomainHost.AddService(typeof(IHelpService), new HelpService());
@ -338,10 +337,6 @@ namespace ICSharpCode.FormsDesigner @@ -338,10 +337,6 @@ namespace ICSharpCode.FormsDesigner
this.addedTypeDescriptionProviders.Add(typeof(Image), TypeDescriptor.AddAttributes(typeof(Image), new EditorAttribute(typeof(ImageResourceEditor), typeof(System.Drawing.Design.UITypeEditor))));
this.addedTypeDescriptionProviders.Add(typeof(Icon), TypeDescriptor.AddAttributes(typeof(Icon), new EditorAttribute(typeof(ImageResourceEditor), typeof(System.Drawing.Design.UITypeEditor))));
if (generator.CodeDomProvider != null) {
appDomainHost.AddService(typeof(System.CodeDom.Compiler.CodeDomProvider), generator.CodeDomProvider);
}
appDomainHost.DesignSurfaceLoading += new EventHandlerProxy(DesignerLoading);
appDomainHost.DesignSurfaceLoaded += new LoadedEventHandlerProxy(DesignerLoaded);
appDomainHost.DesignSurfaceFlushed += new EventHandlerProxy(DesignerFlushed);
@ -990,5 +985,11 @@ namespace ICSharpCode.FormsDesigner @@ -990,5 +985,11 @@ namespace ICSharpCode.FormsDesigner
{
return WorkbenchSingleton.MainWin32Window.Handle;
}
public IDesignerGenerator Generator {
get {
return generator;
}
}
}
}

5
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Services/FormsMessageService.cs

@ -43,5 +43,10 @@ namespace ICSharpCode.FormsDesigner.Services @@ -43,5 +43,10 @@ namespace ICSharpCode.FormsDesigner.Services
{
WorkbenchSingleton.Workbench.GetPad(typeof(PropertyPad)).BringPadToFront();
}
public void ShowError(string message)
{
MessageService.ShowError(message);
}
}
}

1
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ConfigureSideBarDialog.cs

@ -7,7 +7,6 @@ using System.Windows.Forms; @@ -7,7 +7,6 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui.XmlForms;
namespace ICSharpCode.FormsDesigner.Gui
{

4
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/CustomComponentsSideTab.cs

@ -19,7 +19,7 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar; @@ -19,7 +19,7 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar;
namespace ICSharpCode.FormsDesigner.Gui
{
public class CustomComponentsSideTab : SideTabDesigner, IDisposable
public class CustomComponentsSideTab : DesignerSideTab, IDisposable
{
bool disposed;
ToolboxProvider provider;
@ -115,7 +115,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -115,7 +115,7 @@ namespace ICSharpCode.FormsDesigner.Gui
// is not a design component
continue;
isDesignComponent:
this.Items.Add(new SideTabItemDesigner(provider, c.Name, new CustomComponentToolBoxItem(c.CompilationUnit.FileName, c.FullyQualifiedName)));
this.Items.Add(new DesignerSideTabItem(provider, c.Name, new CustomComponentToolboxItem(c.CompilationUnit.FileName, c.FullyQualifiedName)));
}
}
}

10
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/SideTabDesigner.cs → src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTab.cs

@ -11,12 +11,12 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar; @@ -11,12 +11,12 @@ using ICSharpCode.SharpDevelop.Widgets.SideBar;
namespace ICSharpCode.FormsDesigner.Gui
{
public class SideTabDesigner : SideTab
public class DesignerSideTab : SideTab
{
protected bool loadImages = true;
IToolboxService toolboxService;
protected SideTabDesigner(SideBarControl sideBar, string name, IToolboxService toolboxService)
protected DesignerSideTab(SideBarControl sideBar, string name, IToolboxService toolboxService)
: base(sideBar, name)
{
this.DisplayName = StringParser.Parse(name);
@ -29,7 +29,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -29,7 +29,7 @@ namespace ICSharpCode.FormsDesigner.Gui
protected void AddDefaultItem()
{
this.Items.Add(new SideTabItemDesigner());
this.Items.Add(new DesignerSideTabItem());
}
ToolboxProvider toolbox;
@ -39,7 +39,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -39,7 +39,7 @@ namespace ICSharpCode.FormsDesigner.Gui
}
///<summary>Load an assembly's controls</summary>
public SideTabDesigner(ToolboxProvider toolbox, SideBarControl sideBar, Category category, IToolboxService toolboxService)
public DesignerSideTab(ToolboxProvider toolbox, SideBarControl sideBar, Category category, IToolboxService toolboxService)
: this(sideBar, category.Name, toolboxService)
{
this.toolbox = toolbox;
@ -51,7 +51,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -51,7 +51,7 @@ namespace ICSharpCode.FormsDesigner.Gui
toolboxItem.DisplayName = component.Name;
toolboxItem.AssemblyName = toolbox.ComponentLibraryLoader.GetAssemblyName(component);
this.Items.Add(new SideTabItemDesigner(toolbox, toolboxItem));
this.Items.Add(new DesignerSideTabItem(toolbox, toolboxItem));
}
}
}

24
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/SideTabItemDesigner.cs → src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTabItem.cs

@ -1,22 +1,6 @@ @@ -1,22 +1,6 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
/*
* Module : FormDesigner
*
* Project : FormDesigner Loading Library Control.
*
* Source code altering : A1
*
* Description : création of the Tab item displayed into the AXSideTabDesigner control.
* the control's creator initialize the toolboxitem of the tab item
*
* Denis ERCHOFF 22/01/2003
*/
// Denis ERCHOFF 22/01/2003 BEGIN A1
using System;
using System.Drawing;
using System.Drawing.Design;
@ -26,12 +10,12 @@ using ICSharpCode.SharpDevelop.Gui; @@ -26,12 +10,12 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.FormsDesigner.Gui
{
public class SideTabItemDesigner : SharpDevelopSideTabItem
public class DesignerSideTabItem : SharpDevelopSideTabItem
{
ToolboxProvider provider;
///<summary>create a tabitem from a toolboxitem. It init Icon and name from the tag</summary>
public SideTabItemDesigner(ToolboxProvider provider, ToolboxItem tag) : base(tag.DisplayName, tag)
public DesignerSideTabItem(ToolboxProvider provider, ToolboxItem tag) : base(tag.DisplayName, tag)
{
this.provider = provider;
CanBeRenamed = false;
@ -40,7 +24,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -40,7 +24,7 @@ namespace ICSharpCode.FormsDesigner.Gui
}
///<summary>create a tabitem from a toolboxitem. It init Icon from the tag</summary>
public SideTabItemDesigner(ToolboxProvider provider, string name, ToolboxItem tag) : base(name, tag)
public DesignerSideTabItem(ToolboxProvider provider, string name, ToolboxItem tag) : base(name, tag)
{
this.provider = provider;
CanBeRenamed = false;
@ -49,7 +33,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -49,7 +33,7 @@ namespace ICSharpCode.FormsDesigner.Gui
}
///<summary>create a default tabitem : a pointer icon with an empty toolboxitem</summary>
public SideTabItemDesigner() : base("Pointer")
public DesignerSideTabItem() : base("Pointer")
{
CanBeRenamed = false;
CanBeDeleted = false;

2
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/RenameCategoryDialog.cs

@ -53,7 +53,7 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -53,7 +53,7 @@ namespace ICSharpCode.FormsDesigner.Gui
}
foreach (SideTab tab in toolbox.FormsDesignerSideBar.Tabs) {
if (!(tab is SideTabDesigner) && !(tab is CustomComponentsSideTab)) {
if (!(tab is DesignerSideTab) && !(tab is CustomComponentsSideTab)) {
if (tab.Name == categoryNameTextBox.Text) {
ShowDuplicateErrorMessage();
return;

18
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ToolboxProvider.cs

@ -7,9 +7,9 @@ using System.Drawing.Design; @@ -7,9 +7,9 @@ using System.Drawing.Design;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Gui;
using ICSharpCode.FormsDesigner.Services;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
@ -20,7 +20,7 @@ namespace ICSharpCode.FormsDesigner @@ -20,7 +20,7 @@ namespace ICSharpCode.FormsDesigner
{
public class ToolboxProvider
{
ICSharpCode.FormsDesigner.Services.ToolboxService toolboxService = null;
SharpDevelopToolboxService toolboxService = null;
SharpDevelopSideBar sideBar;
CustomComponentsSideTab customTab;
ComponentLibraryLoader componentLibraryLoader;
@ -37,7 +37,7 @@ namespace ICSharpCode.FormsDesigner @@ -37,7 +37,7 @@ namespace ICSharpCode.FormsDesigner
return componentLibraryLoader;
}
}
public ICSharpCode.FormsDesigner.Services.ToolboxService ToolboxService {
public SharpDevelopToolboxService ToolboxService {
get {
CreateToolboxService();
return toolboxService;
@ -57,9 +57,9 @@ namespace ICSharpCode.FormsDesigner @@ -57,9 +57,9 @@ namespace ICSharpCode.FormsDesigner
if (toolboxService == null) {
sideBar = new SharpDevelopSideBar();
LoadToolbox();
toolboxService = new ICSharpCode.FormsDesigner.Services.ToolboxService(services);
toolboxService = (SharpDevelopToolboxService)services.GetService(typeof(IToolboxService));
ReloadSideTabs(false);
toolboxService.SelectedItemUsed += new EventHandler(SelectedToolUsedHandler);
toolboxService.SelectedItemUsed += new EventHandlerProxy(SelectedToolUsedHandler);
sideBar.SideTabDeleted += SideTabDeleted;
}
}
@ -103,7 +103,7 @@ namespace ICSharpCode.FormsDesigner @@ -103,7 +103,7 @@ namespace ICSharpCode.FormsDesigner
foreach (Category category in componentLibraryLoader.Categories) {
if (category.IsEnabled) {
try {
SideTabDesigner newTab = new SideTabDesigner(this, sideBar, category, toolboxService);
DesignerSideTab newTab = new DesignerSideTab(this, sideBar, category, toolboxService);
newTab.ItemRemoved += SideTabItemRemoved;
newTab.ItemsExchanged += SideTabItemsExchanged;
sideBar.Tabs.Add(newTab);
@ -131,7 +131,7 @@ namespace ICSharpCode.FormsDesigner @@ -131,7 +131,7 @@ namespace ICSharpCode.FormsDesigner
SideTab tab = sideBar.ActiveTab;
// try to add project reference
if (sender != null && sender is ICSharpCode.FormsDesigner.Services.ToolboxService) {
if (sender != null && sender is ICSharpCode.FormsDesigner.Services.SharpDevelopToolboxService) {
ToolboxItem selectedItem = (sender as IToolboxService).GetSelectedToolboxItem();
if (tab is CustomComponentsSideTab) {
if (selectedItem != null && selectedItem.TypeName != null) {
@ -252,7 +252,7 @@ namespace ICSharpCode.FormsDesigner @@ -252,7 +252,7 @@ namespace ICSharpCode.FormsDesigner
void SideTabItemRemoved(object source, SideTabItemEventArgs e)
{
SideTabDesigner tab = source as SideTabDesigner;
DesignerSideTab tab = source as DesignerSideTab;
ToolboxItem toolboxItem = e.Item.Tag as ToolboxItem;
if (tab != null && toolboxItem != null) {
componentLibraryLoader.DisableToolComponent(tab.Name, toolboxItem.TypeName);
@ -262,7 +262,7 @@ namespace ICSharpCode.FormsDesigner @@ -262,7 +262,7 @@ namespace ICSharpCode.FormsDesigner
void SideTabItemsExchanged(object source, SideTabItemExchangeEventArgs e)
{
SideTabDesigner tab = source as SideTabDesigner;
DesignerSideTab tab = source as DesignerSideTab;
ToolboxItem toolboxItem1 = e.Item1.Tag as ToolboxItem;
ToolboxItem toolboxItem2 = e.Item2.Tag as ToolboxItem;
if (tab != null && toolboxItem1 != null && toolboxItem2 != null) {

2
src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj

@ -79,7 +79,6 @@ @@ -79,7 +79,6 @@
<Compile Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\Src\EasyCodeDom.cs">
<Link>EasyCodeDom.cs</Link>
</Compile>
<EmbeddedResource Include="Resources\AddSidebarComponentsDialog.xfrm" />
<EmbeddedResource Include="Resources\WindowsFormsGridOptions.xfrm" />
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="FormsDesignerAppDomainHost.cs" />
@ -107,6 +106,7 @@ @@ -107,6 +106,7 @@
<Compile Include="Src\Services\SharpDevelopSerializationProvider.cs" />
<Compile Include="Src\Services\ToolboxService.cs" />
<Compile Include="Src\Services\TypeResolutionService.cs" />
<Compile Include="Src\Services\UIService.cs" />
<Compile Include="Src\Services\XmlDesignerNameCreationService.cs" />
<Compile Include="Src\DesignerLoader\FormsDesignerLoadException.cs" />
<Compile Include="Src\Services\TypeDiscoveryService.cs" />

12
src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesignerAppDomainHost.cs

@ -6,6 +6,7 @@ using System.AddIn.Pipeline; @@ -6,6 +6,7 @@ using System.AddIn.Pipeline;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Drawing;
using System.Drawing.Design;
using System.IO;
using System.Reflection;
using System.Runtime.Remoting.Lifetime;
@ -89,12 +90,13 @@ namespace ICSharpCode.FormsDesigner @@ -89,12 +90,13 @@ namespace ICSharpCode.FormsDesigner
container.AddService(typeof(MemberRelationshipService), new DefaultMemberRelationshipService(container));
container.AddService(typeof(AmbientProperties), new AmbientProperties());
container.AddService(typeof(DesignerOptionService), new SharpDevelopDesignerOptionService(properties.Options));
this.designSurface = designSurfaceManager.CreateDesignSurface(container);
container.AddService(typeof(System.ComponentModel.Design.IMenuCommandService), new ICSharpCode.FormsDesigner.Services.MenuCommandService(properties.Commands, designSurface).Proxy);
Services.EventBindingService eventBindingService = new Services.EventBindingService(properties.FormsDesignerProxy, designSurface);
container.AddService(typeof(System.ComponentModel.Design.IEventBindingService), eventBindingService);
container.AddService(typeof(IToolboxService), new SharpDevelopToolboxService(this));
InitializeEvents();
}
@ -286,7 +288,13 @@ namespace ICSharpCode.FormsDesigner @@ -286,7 +288,13 @@ namespace ICSharpCode.FormsDesigner
public void BeginDesignSurfaceLoad(IDesignerGenerator generator, IDesignerLoaderProvider loaderProvider)
{
this.loader = new SharpDevelopDesignerLoader(this, generator, loaderProvider.CreateLoader(generator));
var loader = new SharpDevelopDesignerLoader(this, generator, loaderProvider.CreateLoader(generator));
var provider = loader.GetCodeDomProviderInstance();
if (provider != null) {
AddService(typeof(System.CodeDom.Compiler.CodeDomProvider), provider);
}
this.loader = loader;
designSurface.BeginLoad(loader);
}

13
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/SharpDevelopDesignerLoader.cs

@ -37,8 +37,19 @@ namespace ICSharpCode.FormsDesigner @@ -37,8 +37,19 @@ namespace ICSharpCode.FormsDesigner
get { return this.designerLoaderHost; }
}
internal CodeDomProvider GetCodeDomProviderInstance()
{
if (instance == null)
instance = (CodeDomProvider)this.generator.CodeDomProviderType.Assembly.CreateInstance(this.generator.CodeDomProviderType.FullName);
return instance;
}
CodeDomProvider instance;
protected override CodeDomProvider CodeDomProvider {
get { return this.generator.CodeDomProvider; }
get {
return GetCodeDomProviderInstance();
}
}
protected IDesignerGenerator Generator {

35
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentToolBoxItem.cs

@ -1,22 +1,24 @@ @@ -1,22 +1,24 @@
using System;
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing.Design;
using System.Runtime.Serialization;
using ICSharpCode.FormsDesigner.Services;
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
namespace ICSharpCode.FormsDesigner.Gui
{
public class CustomComponentToolBoxItem : ToolboxItem
[Serializable]
public class CustomComponentToolboxItem : ToolboxItem
{
string sourceFileName;
string className;
bool initialized;
public CustomComponentToolBoxItem(string sourceFileName, string className)
public CustomComponentToolboxItem(string sourceFileName, string className)
{
this.sourceFileName = sourceFileName;
this.className = className;
@ -24,6 +26,27 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -24,6 +26,27 @@ namespace ICSharpCode.FormsDesigner.Gui
this.IsTransient = true;
}
protected CustomComponentToolboxItem(SerializationInfo info, StreamingContext context)
{
Deserialize(info, context);
}
protected override void Deserialize(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
{
base.Deserialize(info, context);
sourceFileName = info.GetString("sourceFileName");
className = info.GetString("className");
initialized = info.GetBoolean("initialized");
}
protected override void Serialize(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
{
base.Serialize(info, context);
info.AddValue("sourceFileName", sourceFileName);
info.AddValue("className", className);
info.AddValue("initialized", initialized);
}
void Init(IDesignerHost host)
{
((IFormsDesignerLoggingService)host.GetService(typeof(IFormsDesignerLoggingService))).Debug("Initializing MyToolBoxItem: " + className);

3
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/IDesignerGenerator.cs

@ -16,6 +16,7 @@ namespace ICSharpCode.FormsDesigner @@ -16,6 +16,7 @@ namespace ICSharpCode.FormsDesigner
bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position);
ICollection GetCompatibleMethods(EventDescriptor edesc);
void NotifyFormRenamed(string newName);
CodeDomProvider CodeDomProvider { get; }
Type CodeDomProviderType { get; }
CodeDomProvider CreateCodeDomProvider();
}
}

1
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/IProjectResourceService.cs

@ -23,6 +23,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -23,6 +23,7 @@ namespace ICSharpCode.FormsDesigner.Services
void ShowOutputPad();
void ShowPropertiesPad();
void AppendTextToBuildMessages(string text);
void ShowError(string message);
void ShowException(Exception ex, string message);
string CodeStatementToString(CodeStatement statement);
}

6
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/ToolboxService.cs

@ -50,7 +50,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -50,7 +50,7 @@ namespace ICSharpCode.FormsDesigner.Services
/// Provides designers with the ability to configure what tools
/// are available on the toolbox.
/// </remarks>
public class ToolboxService : MarshalByRefObject, IToolboxService
public class SharpDevelopToolboxService : MarshalByRefObject, IToolboxService
{
static readonly string ALL_HOSTS = "_all_hosts_";
static readonly string ALL_CATEGORIES = "_all_categories_";
@ -69,7 +69,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -69,7 +69,7 @@ namespace ICSharpCode.FormsDesigner.Services
IFormsDesignerLoggingService logger;
// Constructor
public ToolboxService(IServiceProvider provider)
public SharpDevelopToolboxService(IServiceProvider provider)
{
IList list = new ArrayList();
toolboxByCategory.Add(ALL_CATEGORIES, list);
@ -154,7 +154,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -154,7 +154,7 @@ namespace ICSharpCode.FormsDesigner.Services
/// Adds a new toolbox item creator.
/// </summary>
/// <param name="creator">
/// A <see cref="System.Drawing.Design.ToolboxItemCreatorCallback">
/// A <see cref="System.Drawing.Design.ToolboxItemCreatorCallback" />
/// that can create a component when the toolbox item
/// is invoked. </param>
/// <param name="format">

Loading…
Cancel
Save