Browse Source

fix ConfigureSideBarDialog

formsdesignerappdomain
Siegfried Pammer 14 years ago
parent
commit
aedf2a7187
  1. 5
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Commands/SideBarCommands.cs
  2. 1
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerLoader/DesignerLoaderProvider.cs
  3. 2
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesigner.AddIn.csproj
  4. 3
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesigner.addin
  5. 23
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesignerAppDomainServer.cs
  6. 1
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesignerViewContent.cs
  7. 10
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/AddComponentsDialog.cs
  8. 2
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ConfigureSideBarDialog.Designer.cs
  9. 36
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ConfigureSideBarDialog.cs
  10. 10
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/CustomComponentsSideTab.cs
  11. 8
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTab.cs
  12. 28
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/FormsDesignerSideBar.cs
  13. 3
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/RenameCategoryDialog.Designer.cs
  14. 9
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/RenameCategoryDialog.cs
  15. 5
      src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ToolboxProvider.cs
  16. 39
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ComponentLibraryLoader.cs
  17. 2
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/PropertyPadContent.cs
  18. 4
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  19. 4
      src/Main/Base/Project/Src/Gui/Components/SideBar/SharpDevelopSideBar.cs

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

@ -12,9 +12,7 @@ namespace ICSharpCode.FormsDesigner
{ {
public override void Run() public override void Run()
{ {
#warning test this! var sidebar = (DesignerSideTab)Owner;
var sidebar = Owner as DesignerSideTab;
if (sidebar != null) {
using (ConfigureSideBarDialog configureSideBarDialog = new ConfigureSideBarDialog(sidebar.Toolbox)) { using (ConfigureSideBarDialog configureSideBarDialog = new ConfigureSideBarDialog(sidebar.Toolbox)) {
if (configureSideBarDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainWin32Window) == DialogResult.OK) { if (configureSideBarDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainWin32Window) == DialogResult.OK) {
sidebar.Toolbox.ReloadSideTabs(true); sidebar.Toolbox.ReloadSideTabs(true);
@ -22,5 +20,4 @@ namespace ICSharpCode.FormsDesigner
} }
} }
} }
}
} }

1
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/DesignerLoader/DesignerLoaderProvider.cs

@ -16,7 +16,6 @@ namespace ICSharpCode.FormsDesigner
public class NRefactoryDesignerLoaderProvider : MarshalByRefObject, IDesignerLoaderProviderWithViewContent public class NRefactoryDesignerLoaderProvider : MarshalByRefObject, IDesignerLoaderProviderWithViewContent
{ {
readonly SupportedLanguage language; readonly SupportedLanguage language;
FormsDesignerViewContent viewContent;
public FormsDesignerViewContent ViewContent { get; set; } public FormsDesignerViewContent ViewContent { get; set; }

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

@ -89,6 +89,7 @@
<Compile Include="DesignerLoader\NRefactoryDesignerLoader.cs" /> <Compile Include="DesignerLoader\NRefactoryDesignerLoader.cs" />
<Compile Include="DesignerSourceCodeStorage.cs" /> <Compile Include="DesignerSourceCodeStorage.cs" />
<Compile Include="FormKeyHandler.cs" /> <Compile Include="FormKeyHandler.cs" />
<Compile Include="FormsDesignerAppDomainServer.cs" />
<Compile Include="FormsDesignerLoggingServiceImpl.cs" /> <Compile Include="FormsDesignerLoggingServiceImpl.cs" />
<Compile Include="FormsDesignerViewContent.cs" /> <Compile Include="FormsDesignerViewContent.cs" />
<Compile Include="ImageResourceEditorDialogWrapper.cs" /> <Compile Include="ImageResourceEditorDialogWrapper.cs" />
@ -111,6 +112,7 @@
<DependentUpon>ConfigureSideBarDialog.cs</DependentUpon> <DependentUpon>ConfigureSideBarDialog.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Toolbox\CustomComponentsSideTab.cs" /> <Compile Include="Toolbox\CustomComponentsSideTab.cs" />
<Compile Include="Toolbox\FormsDesignerSideBar.cs" />
<Compile Include="Toolbox\RenameCategoryDialog.cs" /> <Compile Include="Toolbox\RenameCategoryDialog.cs" />
<Compile Include="Toolbox\RenameCategoryDialog.Designer.cs"> <Compile Include="Toolbox\RenameCategoryDialog.Designer.cs">
<DependentUpon>RenameCategoryDialog.cs</DependentUpon> <DependentUpon>RenameCategoryDialog.cs</DependentUpon>

3
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesigner.addin

@ -289,7 +289,8 @@
</Path> </Path>
<!-- common menu, for both tab captions and tab content --> <!-- common menu, for both tab captions and tab content -->
<Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/CommonContextMenu"> <Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/SideTab/FormsDesignerContextMenu">
<Include path="/SharpDevelop/Workbench/SharpDevelopSideBar/SideTab/ContextMenu" />
<MenuItem id = "CustomizeSideBarSeparator" <MenuItem id = "CustomizeSideBarSeparator"
insertafter = "MoveTabDown" insertafter = "MoveTabDown"
type = "Separator" /> type = "Separator" />

23
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/FormsDesignerAppDomainServer.cs

@ -0,0 +1,23 @@
// 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.Runtime.Remoting.Lifetime;
namespace ICSharpCode.FormsDesigner
{
/// <summary>
/// Description of FormsDesignerAppDomainServer.
/// </summary>
public class FormsDesignerAppDomainServer : MarshalByRefObject, ISponsor
{
public FormsDesignerAppDomainServer()
{
}
public TimeSpan Renewal(ILease lease)
{
throw new NotImplementedException();
}
}
}

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

@ -753,6 +753,7 @@ namespace ICSharpCode.FormsDesigner
this.UserContent = null; this.UserContent = null;
this.pleaseWaitLabel.Dispose(); this.pleaseWaitLabel.Dispose();
} }
} }

10
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/AddComponentsDialog.cs

@ -29,11 +29,19 @@ namespace ICSharpCode.FormsDesigner.Gui
public AddComponentsDialog() public AddComponentsDialog()
{ {
InitializeComponent(); InitializeComponent();
Translate(this);
Icon = null; Icon = null;
PrintGACCache(); PrintGACCache();
} }
void Translate(Control control)
{
control.Text = StringParser.Parse(control.Text);
foreach (Control child in control.Controls) {
Translate(child);
}
}
void PrintGACCache() void PrintGACCache()
{ {
foreach (DomAssemblyName asm in GacInterop.GetAssemblyList()) { foreach (DomAssemblyName asm in GacInterop.GetAssemblyList()) {

2
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/ConfigureSideBarDialog.Designer.cs generated

@ -222,8 +222,10 @@ namespace ICSharpCode.FormsDesigner.Gui
// //
// ConfigureSideBarDialog // ConfigureSideBarDialog
// //
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(602, 402); this.ClientSize = new System.Drawing.Size(602, 402);
this.Controls.Add(this.renameCategoryButton); this.Controls.Add(this.renameCategoryButton);
this.Controls.Add(this.cancelButton); this.Controls.Add(this.cancelButton);

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

@ -2,6 +2,7 @@
// 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.Collections; using System.Collections;
using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
@ -12,20 +13,37 @@ namespace ICSharpCode.FormsDesigner.Gui
{ {
public partial class ConfigureSideBarDialog : Form public partial class ConfigureSideBarDialog : Form
{ {
ArrayList oldComponents; List<Category> oldComponents;
ToolboxProvider toolbox; ToolboxProvider toolbox;
public ConfigureSideBarDialog(ToolboxProvider toolbox) public ConfigureSideBarDialog(ToolboxProvider toolbox)
{ {
if (toolbox == null)
throw new ArgumentNullException("toolbox");
InitializeComponent(); InitializeComponent();
this.toolbox = toolbox;
oldComponents = toolbox.ComponentLibraryLoader.CopyCategories(); oldComponents = toolbox.ComponentLibraryLoader.CopyCategories();
Translate(this);
FillCategories(); FillCategories();
CategoryListViewSelectedIndexChanged(this, EventArgs.Empty); CategoryListViewSelectedIndexChanged(this, EventArgs.Empty);
ComponentListViewSelectedIndexChanged(this, EventArgs.Empty); ComponentListViewSelectedIndexChanged(this, EventArgs.Empty);
} }
void Translate(Control control)
{
control.Text = StringParser.Parse(control.Text);
foreach (Control child in control.Controls) {
Translate(child);
}
if (control is ListView) {
var lv = control as ListView;
foreach (ColumnHeader col in lv.Columns) {
col.Text = StringParser.Parse(col.Text);
}
}
}
void FillCategories() void FillCategories()
{ {
categoryListView.BeginUpdate(); categoryListView.BeginUpdate();
@ -41,10 +59,10 @@ namespace ICSharpCode.FormsDesigner.Gui
void FillComponents() void FillComponents()
{ {
categoryListView.ItemCheck -= this.ComponentListViewItemCheck; componentListView.ItemCheck -= this.ComponentListViewItemCheck;
categoryListView.BeginUpdate(); componentListView.BeginUpdate();
categoryListView.Items.Clear(); componentListView.Items.Clear();
categoryListView.SmallImageList = new ImageList(); componentListView.SmallImageList = new ImageList();
if (categoryListView.SelectedItems != null && categoryListView.SelectedItems.Count == 1) { if (categoryListView.SelectedItems != null && categoryListView.SelectedItems.Count == 1) {
Category category = (Category)categoryListView.SelectedItems[0].Tag; Category category = (Category)categoryListView.SelectedItems[0].Tag;
@ -77,11 +95,9 @@ namespace ICSharpCode.FormsDesigner.Gui
componentListView.ItemCheck += this.ComponentListViewItemCheck; componentListView.ItemCheck += this.ComponentListViewItemCheck;
} }
// THIS METHOD IS MAINTAINED BY THE FORM DESIGNER
// DO NOT EDIT IT MANUALLY! YOUR CHANGES ARE LIKELY TO BE LOST
void CategoryListViewSelectedIndexChanged(object sender, System.EventArgs e) void CategoryListViewSelectedIndexChanged(object sender, System.EventArgs e)
{ {
renameCategoryButton.Enabled = addComponentsButton.Enabled = CurrentCategory != null; removeCategoryButton.Enabled = renameCategoryButton.Enabled = addComponentsButton.Enabled = CurrentCategory != null;
FillComponents(); FillComponents();
} }
@ -118,7 +134,6 @@ namespace ICSharpCode.FormsDesigner.Gui
void RemoveCategoryButtonClick(object sender, System.EventArgs e) void RemoveCategoryButtonClick(object sender, System.EventArgs e)
{ {
if (MessageService.AskQuestion("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSideBarDialog.RemoveCategoryQuestion}")) { if (MessageService.AskQuestion("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.ConfigureSideBarDialog.RemoveCategoryQuestion}")) {
CategoryListViewSelectedIndexChanged(this, EventArgs.Empty); CategoryListViewSelectedIndexChanged(this, EventArgs.Empty);
toolbox.ComponentLibraryLoader.Categories.Remove(CurrentCategory); toolbox.ComponentLibraryLoader.Categories.Remove(CurrentCategory);
@ -160,6 +175,7 @@ namespace ICSharpCode.FormsDesigner.Gui
if (renameCategoryDialog.ShowDialog(this) == DialogResult.OK) { if (renameCategoryDialog.ShowDialog(this) == DialogResult.OK) {
this.CurrentCategory.Name = renameCategoryDialog.CategoryName; this.CurrentCategory.Name = renameCategoryDialog.CategoryName;
FillCategories(); FillCategories();
CategoryListViewSelectedIndexChanged(sender, e);
} }
} }

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

@ -22,14 +22,12 @@ namespace ICSharpCode.FormsDesigner.Gui
public class CustomComponentsSideTab : DesignerSideTab, IDisposable public class CustomComponentsSideTab : DesignerSideTab, IDisposable
{ {
bool disposed; bool disposed;
ToolboxProvider provider;
///<summary>Load an assembly's controls</summary> ///<summary>Load an assembly's controls</summary>
public CustomComponentsSideTab(ToolboxProvider provider, SideBarControl sideTab, string name, IToolboxService toolboxService) public CustomComponentsSideTab(ToolboxProvider provider, SideBarControl sideTab, string name, IToolboxService toolboxService)
: base(sideTab, name, toolboxService) : base(provider, sideTab, name, toolboxService)
{ {
this.provider = provider; this.DisplayName = StringParser.Parse(name);
this.DisplayName = StringParser.Parse(this.Name);
ScanProjectAssemblies(); ScanProjectAssemblies();
ProjectService.BuildFinished += RescanProjectAssemblies; ProjectService.BuildFinished += RescanProjectAssemblies;
ProjectService.SolutionLoaded += RescanProjectAssemblies; ProjectService.SolutionLoaded += RescanProjectAssemblies;
@ -51,7 +49,7 @@ namespace ICSharpCode.FormsDesigner.Gui
Items.Clear(); Items.Clear();
AddDefaultItem(); AddDefaultItem();
ScanProjectAssemblies(); ScanProjectAssemblies();
provider.FormsDesignerSideBar.Refresh(); Toolbox.FormsDesignerSideBar.Refresh();
} }
void ProjectItemAdded(object sender, ProjectItemEventArgs e) void ProjectItemAdded(object sender, ProjectItemEventArgs e)
@ -115,7 +113,7 @@ namespace ICSharpCode.FormsDesigner.Gui
// is not a design component // is not a design component
continue; continue;
isDesignComponent: isDesignComponent:
this.Items.Add(new DesignerSideTabItem(provider, c.Name, new CustomComponentToolboxItem(c.CompilationUnit.FileName, c.FullyQualifiedName))); this.Items.Add(new DesignerSideTabItem(Toolbox, c.Name, new CustomComponentToolboxItem(c.CompilationUnit.FileName, c.FullyQualifiedName)));
} }
} }
} }

8
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/DesignerSideTab.cs

@ -16,9 +16,12 @@ namespace ICSharpCode.FormsDesigner.Gui
protected bool loadImages = true; protected bool loadImages = true;
IToolboxService toolboxService; IToolboxService toolboxService;
protected DesignerSideTab(SideBarControl sideBar, string name, IToolboxService toolboxService) protected DesignerSideTab(ToolboxProvider toolbox, SideBarControl sideBar, string name, IToolboxService toolboxService)
: base(sideBar, name) : base(sideBar, name)
{ {
if (toolbox == null)
throw new ArgumentNullException("toolbox");
this.toolbox = toolbox;
this.DisplayName = StringParser.Parse(name); this.DisplayName = StringParser.Parse(name);
this.toolboxService = toolboxService; this.toolboxService = toolboxService;
this.CanSaved = false; this.CanSaved = false;
@ -40,9 +43,8 @@ namespace ICSharpCode.FormsDesigner.Gui
///<summary>Load an assembly's controls</summary> ///<summary>Load an assembly's controls</summary>
public DesignerSideTab(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, sideBar, category.Name, toolboxService)
{ {
this.toolbox = toolbox;
foreach (ToolComponent component in category.ToolComponents) { foreach (ToolComponent component in category.ToolComponents) {
if (component.IsEnabled) { if (component.IsEnabled) {
ToolboxItem toolboxItem = new ToolboxItem(); ToolboxItem toolboxItem = new ToolboxItem();

28
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/FormsDesignerSideBar.cs

@ -0,0 +1,28 @@
// 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.Collections.Generic;
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;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Widgets.SideBar;
namespace ICSharpCode.FormsDesigner
{
public class FormsDesignerSideBar : SharpDevelopSideBar
{
public FormsDesignerSideBar()
{
this.sideTabContextMenuPath = "/SharpDevelop/Workbench/SharpDevelopSideBar/SideTab/FormsDesignerContextMenu";
}
}
}

3
src/AddIns/DisplayBindings/FormsDesigner/FormsDesigner.AddIn/Toolbox/RenameCategoryDialog.Designer.cs generated

@ -56,6 +56,7 @@ namespace ICSharpCode.FormsDesigner.Gui
this.okButton.Size = new System.Drawing.Size(75, 23); this.okButton.Size = new System.Drawing.Size(75, 23);
this.okButton.TabIndex = 6; this.okButton.TabIndex = 6;
this.okButton.Text = "${res:Global.OKButtonText}"; this.okButton.Text = "${res:Global.OKButtonText}";
this.okButton.Click += new System.EventHandler(this.OkButtonClick);
// //
// categoryNameTextBox // categoryNameTextBox
// //
@ -79,8 +80,10 @@ namespace ICSharpCode.FormsDesigner.Gui
// //
// RenameCategoryDialog // RenameCategoryDialog
// //
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(298, 85); this.ClientSize = new System.Drawing.Size(298, 85);
this.Controls.Add(this.cancelButton); this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton); this.Controls.Add(this.okButton);

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

@ -25,6 +25,7 @@ namespace ICSharpCode.FormsDesigner.Gui
{ {
this.toolbox = toolbox; this.toolbox = toolbox;
InitializeComponent(); InitializeComponent();
Translate(this);
this.Owner = owner; this.Owner = owner;
if (categoryName == null) { if (categoryName == null) {
@ -37,6 +38,14 @@ namespace ICSharpCode.FormsDesigner.Gui
} }
} }
void Translate(Control control)
{
control.Text = StringParser.Parse(control.Text);
foreach (Control child in control.Controls) {
Translate(child);
}
}
void ShowDuplicateErrorMessage() void ShowDuplicateErrorMessage()
{ {
MessageService.ShowError("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.RenameCategoryDialog.DuplicateNameError}"); MessageService.ShowError("${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.RenameCategoryDialog.DuplicateNameError}");

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

@ -55,7 +55,7 @@ namespace ICSharpCode.FormsDesigner
{ {
Debug.Assert(WorkbenchSingleton.InvokeRequired == false); Debug.Assert(WorkbenchSingleton.InvokeRequired == false);
if (toolboxService == null) { if (toolboxService == null) {
sideBar = new SharpDevelopSideBar(); sideBar = new FormsDesignerSideBar();
LoadToolbox(); LoadToolbox();
toolboxService = (SharpDevelopToolboxService)services.GetService(typeof(IToolboxService)); toolboxService = (SharpDevelopToolboxService)services.GetService(typeof(IToolboxService));
ReloadSideTabs(false); ReloadSideTabs(false);
@ -89,7 +89,6 @@ namespace ICSharpCode.FormsDesigner
{ {
if (!componentLibraryLoader.LoadToolComponentLibrary(UserConfigFile)) { if (!componentLibraryLoader.LoadToolComponentLibrary(UserConfigFile)) {
if (!componentLibraryLoader.LoadToolComponentLibrary(GlobalConfigFile)) { if (!componentLibraryLoader.LoadToolComponentLibrary(GlobalConfigFile)) {
MessageService.ShowWarning("${res:ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning}"); MessageService.ShowWarning("${res:ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning}");
} }
} }
@ -276,4 +275,6 @@ namespace ICSharpCode.FormsDesigner
} }
} }
} }
} }

39
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/ComponentLibraryLoader.cs

@ -3,6 +3,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
@ -220,8 +221,8 @@ namespace ICSharpCode.FormsDesigner.Gui
{ {
static readonly string VERSION = "1.1.0"; static readonly string VERSION = "1.1.0";
ArrayList assemblies = new ArrayList(); List<ComponentAssembly> assemblies = new List<ComponentAssembly>();
ArrayList categories = new ArrayList();
IServiceProvider provider; IServiceProvider provider;
IFormsDesignerLoggingService logger; IFormsDesignerLoggingService logger;
@ -232,31 +233,25 @@ namespace ICSharpCode.FormsDesigner.Gui
this.provider = provider; this.provider = provider;
logger = (IFormsDesignerLoggingService)provider.GetService(typeof(IFormsDesignerLoggingService)); logger = (IFormsDesignerLoggingService)provider.GetService(typeof(IFormsDesignerLoggingService));
appDomainHost = (FormsDesignerAppDomainHost)provider.GetService(typeof(FormsDesignerAppDomainHost)); appDomainHost = (FormsDesignerAppDomainHost)provider.GetService(typeof(FormsDesignerAppDomainHost));
Categories = new List<Category>();
} }
public ArrayList Categories { public List<Category> Categories { get; set; }
get {
return categories;
}
set {
categories = value;
}
}
public ArrayList CopyCategories() public List<Category> CopyCategories()
{ {
ArrayList newCategories = new ArrayList(); List<Category> newCategories = new List<Category>();
foreach (Category category in categories) { foreach (Category category in Categories) {
newCategories.Add(category.Clone()); newCategories.Add((Category)category.Clone());
} }
return newCategories; return newCategories;
} }
public void RemoveCategory(string name) public void RemoveCategory(string name)
{ {
foreach (Category category in categories) { foreach (Category category in Categories) {
if (category.Name == name) { if (category.Name == name) {
categories.Remove(category); Categories.Remove(category);
break; break;
} }
} }
@ -264,7 +259,7 @@ namespace ICSharpCode.FormsDesigner.Gui
public void DisableToolComponent(string categoryName, string fullName) public void DisableToolComponent(string categoryName, string fullName)
{ {
foreach (Category category in categories) { foreach (Category category in Categories) {
if (category.Name == categoryName) { if (category.Name == categoryName) {
foreach (ToolComponent component in category.ToolComponents) { foreach (ToolComponent component in category.ToolComponents) {
if (component.FullName == fullName) { if (component.FullName == fullName) {
@ -281,7 +276,7 @@ namespace ICSharpCode.FormsDesigner.Gui
/// </summary> /// </summary>
public void ExchangeToolComponents(string categoryName, string fullName1, string fullName2) public void ExchangeToolComponents(string categoryName, string fullName1, string fullName2)
{ {
foreach (Category category in categories) { foreach (Category category in Categories) {
if (category.Name == categoryName) { if (category.Name == categoryName) {
int index1 = -1; int index1 = -1;
int index2 = -1; int index2 = -1;
@ -341,11 +336,11 @@ namespace ICSharpCode.FormsDesigner.Gui
IsEnabled(componentNode.Attributes["enabled"])); IsEnabled(componentNode.Attributes["enabled"]));
newCategory.ToolComponents.Add(newToolComponent); newCategory.ToolComponents.Add(newToolComponent);
} }
categories.Add(newCategory); Categories.Add(newCategory);
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.Warn("ComponentLibraryLoader.LoadToolComponentLibrary: " + e.Message); logger.Warn("ComponentLibraryLoader.LoadToolComponentLibrary: " + e.ToString());
return false; return false;
} }
return true; return true;
@ -360,7 +355,7 @@ namespace ICSharpCode.FormsDesigner.Gui
public ToolComponent GetToolComponent(string assemblyName) public ToolComponent GetToolComponent(string assemblyName)
{ {
foreach (Category category in categories) { foreach (Category category in Categories) {
foreach (ToolComponent component in category.ToolComponents) { foreach (ToolComponent component in category.ToolComponents) {
if (component.AssemblyName == assemblyName) { if (component.AssemblyName == assemblyName) {
return component; return component;
@ -393,7 +388,7 @@ namespace ICSharpCode.FormsDesigner.Gui
XmlElement categoryNode = doc.CreateElement("Categories"); XmlElement categoryNode = doc.CreateElement("Categories");
doc.DocumentElement.AppendChild(categoryNode); doc.DocumentElement.AppendChild(categoryNode);
foreach (Category category in categories) { foreach (Category category in Categories) {
XmlElement newCategory = doc.CreateElement("Category"); XmlElement newCategory = doc.CreateElement("Category");
newCategory.SetAttribute("name", category.Name); newCategory.SetAttribute("name", category.Name);
newCategory.SetAttribute("enabled", category.IsEnabled.ToString()); newCategory.SetAttribute("enabled", category.IsEnabled.ToString());

2
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/PropertyPadContent.cs

@ -246,8 +246,8 @@ namespace ICSharpCode.FormsDesigner.Gui
if (grid != null) { if (grid != null) {
try { try {
grid.SelectedObjects = null; grid.SelectedObjects = null;
} catch {}
grid.Dispose(); grid.Dispose();
} catch {}
grid = null; grid = null;
} }
} }

4
src/Main/Base/Project/ICSharpCode.SharpDevelop.addin

@ -1142,8 +1142,6 @@
label = "${res:Global.MoveDown}" label = "${res:Global.MoveDown}"
class = "ICSharpCode.SharpDevelop.Commands.SideBarMoveTabDown"/> class = "ICSharpCode.SharpDevelop.Commands.SideBarMoveTabDown"/>
</Condition> </Condition>
<Include id="CommonContextMenu" path="/SharpDevelop/Workbench/SharpDevelopSideBar/CommonContextMenu"/>
</Path> </Path>
<Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/SideTab/ContextMenu"> <Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/SideTab/ContextMenu">
@ -1171,8 +1169,6 @@
label = "${res:Global.MoveDown}" label = "${res:Global.MoveDown}"
class = "ICSharpCode.SharpDevelop.Commands.SideBarMoveActiveItemDown"/> class = "ICSharpCode.SharpDevelop.Commands.SideBarMoveActiveItemDown"/>
</Condition> </Condition>
<Include id="CommonContextMenu" path="/SharpDevelop/Workbench/SharpDevelopSideBar/CommonContextMenu"/>
</Path> </Path>
<!-- Main Menu --> <!-- Main Menu -->

4
src/Main/Base/Project/Src/Gui/Components/SideBar/SharpDevelopSideBar.cs

@ -139,7 +139,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
if (e.Button == MouseButtons.Right) { if (e.Button == MouseButtons.Right) {
MenuService.ShowContextMenu(this, contextMenuPath, this, e.X, e.Y); MenuService.ShowContextMenu(ActiveTab, contextMenuPath, this, e.X, e.Y);
} }
} }
@ -184,7 +184,7 @@ namespace ICSharpCode.SharpDevelop.Gui
internalState = internalState & ~(SidebarState.CanMoveItemDown); internalState = internalState & ~(SidebarState.CanMoveItemDown);
} }
MenuService.ShowContextMenu(this, sideTabContextMenuPath, sideTabContent, e.X, e.Y); MenuService.ShowContextMenu(ActiveTab, sideTabContextMenuPath, this, e.X, e.Y);
} }
} }

Loading…
Cancel
Save