From 83d7b3301e2167d6ac0dd022966dd4f832caaade Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Mon, 8 Aug 2005 10:37:06 +0000 Subject: [PATCH] Fixed SD2-405: Invisible menu item can be run by shortcut. Fixed SD2-376: Debugger: Menu consistency. Added caching to SearchClassReturnType (dramatically improves code completion performance in classes that have many base types like XmlView). git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@336 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- AddIns/ICSharpCode.SharpDevelop.addin | 107 ++++++++++-------- .../FormDesignerSecondaryDisplayBinding.cs | 2 +- .../XmlEditor/Project/Src/XmlView.cs | 23 +++- .../Project/Debugger.AddIn.addin | 5 +- .../Project/Src/Service/WindowsDebugger.cs | 36 +----- .../Project/ICSharpCode.TextEditor.csproj | 4 +- .../GapTextBufferStrategy.cs | 13 +++ .../Project/ICSharpCode.SharpDevelop.csproj | 1 + .../Implementations/SearchClassReturnType.cs | 9 +- .../Src/Gui/Pads/ClassBrowser/ClassBrowser.cs | 15 +-- .../Src/Gui/Workbench/DefaultWorkbench.cs | 25 +--- .../DebuggerSupportsEvaluator.cs | 31 +++-- .../Src/Services/Debugger/DebuggerDoozer.cs | 80 +++++++++++++ .../Src/Services/Debugger/DebuggerService.cs | 32 ++++-- .../Src/Services/Debugger/DefaultDebugger.cs | 36 +----- .../Src/Services/Debugger/IDebugger.cs | 45 ++------ .../ParserService/DefaultProjectContent.cs | 17 +++ .../Services/ParserService/IProjectContent.cs | 8 ++ .../MenuItem/Gui/MenuCommand.cs | 14 ++- .../Services/ToolBarService/ToolBarService.cs | 1 + src/Main/StartUp/Project/SharpDevelopMain.cs | 1 + 21 files changed, 281 insertions(+), 224 deletions(-) create mode 100644 src/Main/Base/Project/Src/Services/Debugger/DebuggerDoozer.cs diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin index 015faa6fc6..0c9d9c2a90 100644 --- a/AddIns/ICSharpCode.SharpDevelop.addin +++ b/AddIns/ICSharpCode.SharpDevelop.addin @@ -714,64 +714,77 @@ - - - + + + + + + + + + + + + + + + - + - - - + + + + + + + + - + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + @@ -1225,7 +1238,7 @@ diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs index 638cbf6f57..782d0b1e1b 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs @@ -60,7 +60,7 @@ namespace ICSharpCode.FormDesigner { // Simple test for fully qualified name foreach (IReturnType baseType in c.BaseTypes) { - if (baseType.Name == "System.Windows.Forms.Form" || baseType.Name == "System.Windows.Forms.UserControl") { + if (baseType.FullyQualifiedName == "System.Windows.Forms.Form" || baseType.FullyQualifiedName == "System.Windows.Forms.UserControl") { return true; } } diff --git a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs index 913d205d6a..df039a480f 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs @@ -196,12 +196,31 @@ namespace ICSharpCode.XmlEditor } } + // ParserUpdateThread uses the text property via IEditable, I had an exception + // because multiple threads were accessing the GapBufferStrategy at the same time. + + string GetText() + { + return xmlEditor.Document.TextContent; + } + + void SetText(string value) + { + xmlEditor.Document.TextContent = value; + } + public string Text { get { - return xmlEditor.Document.TextContent; + if (WorkbenchSingleton.InvokeRequired) + return (string)WorkbenchSingleton.SafeThreadCall(this, "GetText", null); + else + return GetText(); } set { - xmlEditor.Document.TextContent = value; + if (WorkbenchSingleton.InvokeRequired) + WorkbenchSingleton.SafeThreadCall(this, "SetText", value); + else + SetText(value); } } diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin index 7d00cee41a..00ffadce21 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin @@ -4,7 +4,10 @@ - +