From aad4c32ffce2173d7dd0ea4c770a2b3b67ee5947 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 12 Aug 2005 10:03:50 +0000 Subject: [PATCH] Fixed drag'n'drop of components from the side bar to the form designer. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@352 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/FormDesigner/Services/HelpService.cs | 4 ---- .../FormDesigner/Services/ToolboxService.cs | 22 ++++++++----------- .../Src/Gui/Components/SideBar/AxSideBar.cs | 4 ++-- .../Core/Project/Src/AddInTree/AddIn/AddIn.cs | 5 +++-- .../MenuItem/Gui/MenuCommand.cs | 4 +++- 5 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/HelpService.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/HelpService.cs index 32868a685c..52fdd4826f 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/HelpService.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/HelpService.cs @@ -30,9 +30,6 @@ namespace ICSharpCode.FormDesigner.Services /// public class HelpService : IHelpService { - Hashtable LocalContexts = new Hashtable(); - ArrayList ContextAttributes = new ArrayList(); - string f1Keyword = null; string generalKeyword = null; @@ -71,7 +68,6 @@ namespace ICSharpCode.FormDesigner.Services public void RemoveLocalContext(IHelpService localContext) { - LocalContexts.Remove(LocalContexts); } public void ShowHelpFromKeyword(string helpKeyword) diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/ToolboxService.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/ToolboxService.cs index 577f76e5bc..fd7e0711a3 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/ToolboxService.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Services/ToolboxService.cs @@ -250,13 +250,7 @@ namespace ICSharpCode.FormDesigner.Services public ToolboxItem DeserializeToolboxItem(object serializedObject) { - LoggingService.DebugFormatted("DeserializeToolboxItem {0}", serializedObject); - if (serializedObject is System.Windows.Forms.IDataObject) { - if (((System.Windows.Forms.IDataObject)serializedObject).GetDataPresent(typeof(ToolboxItem))) { - return (ToolboxItem) ((System.Windows.Forms.IDataObject)serializedObject).GetData(typeof(ToolboxItem)); - } - } - return null; + return DeserializeToolboxItem(serializedObject, null); } public ToolboxItem DeserializeToolboxItem(object serializedObject, IDesignerHost host) @@ -266,19 +260,21 @@ namespace ICSharpCode.FormDesigner.Services if (((System.Windows.Forms.IDataObject)serializedObject).GetDataPresent(typeof(ToolboxItem))) { ToolboxItem item = (ToolboxItem) ((System.Windows.Forms.IDataObject)serializedObject).GetData(typeof(ToolboxItem)); + ArrayList list; if (host != null) { - ArrayList list = (ArrayList)toolboxByHost[host]; - if (list != null && list.Contains(item)) { - return item; - } - list = (ArrayList)toolboxByHost[ALL_HOSTS]; + list = (ArrayList)toolboxByHost[host]; if (list != null && list.Contains(item)) { + LoggingService.Warn(item.TypeName); return item; } } + list = (ArrayList)toolboxByHost[ALL_HOSTS]; + if (list != null && list.Contains(item)) { + return item; + } } } - LoggingService.InfoFormatted("DeserializeToolboxItem {0} host {1} return null", serializedObject, host); + LoggingService.WarnFormatted("DeserializeToolboxItem {0} host {1} return null", serializedObject, host); return null; } diff --git a/src/Main/Base/Project/Src/Gui/Components/SideBar/AxSideBar.cs b/src/Main/Base/Project/Src/Gui/Components/SideBar/AxSideBar.cs index bfa04537ef..7d08bc1fd0 100644 --- a/src/Main/Base/Project/Src/Gui/Components/SideBar/AxSideBar.cs +++ b/src/Main/Base/Project/Src/Gui/Components/SideBar/AxSideBar.cs @@ -1079,11 +1079,11 @@ namespace ICSharpCode.SharpDevelop.Gui public string[] GetFormats() { - return null; + return new string[0]; } public string[] GetFormats(bool autoConvert) { - return null; + return new string[0]; } public void SetData(object data) diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs index 712c419785..367d8e7e1a 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs @@ -32,8 +32,9 @@ namespace ICSharpCode.Core return o; } } - LoggingService.Error("Cannot create object: " + className); - if (!hasShownErrorMessage) { + if (hasShownErrorMessage) { + LoggingService.Error("Cannot create object: " + className); + } else { hasShownErrorMessage = true; MessageService.ShowError("Cannot create object: " + className + "\nFuture missing objects will not cause an error message."); } diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs index 107bce42b3..b94015b48d 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs @@ -53,7 +53,9 @@ namespace ICSharpCode.Core } else { menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]); } - menuCommand.Owner = caller; + if (menuCommand != null) { + menuCommand.Owner = caller; + } } catch (Exception e) { MessageService.ShowError(e, "Can't create menu command : " + codon.Id); }