From aa34af8cedd2b42f50565d3aabb99cbd7d01298d Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 11 Jun 2005 10:46:33 +0000 Subject: [PATCH] Fixed some small bugs. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@159 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Gui/TreeTreeView.cs | 5 ++- .../Project/Src/Gui/GutterMargin.cs | 2 +- .../Project/Src/Gui/TextArea.cs | 2 +- .../Src/Services/Debugger/DebuggerService.cs | 10 +++++ .../Project/Src/Services/File/FileService.cs | 40 +++++-------------- .../CompletionWindow/CodeCompletionData.cs | 3 +- .../Engine/SearchReplaceManager.cs | 3 +- 7 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/AddIns/Misc/AddinScout/Project/Src/Gui/TreeTreeView.cs b/src/AddIns/Misc/AddinScout/Project/Src/Gui/TreeTreeView.cs index 941d98c5e8..cc70ebb452 100644 --- a/src/AddIns/Misc/AddinScout/Project/Src/Gui/TreeTreeView.cs +++ b/src/AddIns/Misc/AddinScout/Project/Src/Gui/TreeTreeView.cs @@ -58,7 +58,10 @@ namespace AddInScout break; } } - if (!found) { + if (found) { + if (i == name.Length - 1 && currentNode.Tag == null) + currentNode.Tag = ext; + } else { TreeNode newNode = new TreeNode(name[i]); newNode.ImageIndex = 3; newNode.SelectedImageIndex = 4; diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/GutterMargin.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/GutterMargin.cs index 3984394c5a..db0e274f26 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/GutterMargin.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/GutterMargin.cs @@ -67,7 +67,7 @@ namespace ICSharpCode.TextEditor return; } HighlightColor lineNumberPainterColor = textArea.Document.HighlightingStrategy.GetColorFor("LineNumbers"); - int fontHeight = lineNumberPainterColor.Font.Height; + int fontHeight = textArea.TextView.FontHeight; Brush fillBrush = textArea.Enabled ? BrushRegistry.GetBrush(lineNumberPainterColor.BackgroundColor) : SystemBrushes.InactiveBorder; Brush drawBrush = BrushRegistry.GetBrush(lineNumberPainterColor.Color); for (int y = 0; y < (DrawingPosition.Height + textArea.TextView.VisibleLineDrawingRemainder) / fontHeight + 1; ++y) { diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextArea.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextArea.cs index a39b8c752d..c5880ab9b9 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextArea.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextArea.cs @@ -110,7 +110,7 @@ namespace ICSharpCode.TextEditor } public int MaxVScrollValue { get { - return (Document.GetVisibleLine(Document.TotalNumberOfLines - 1) + 1 + TextView.VisibleLineCount * 2 / 3) * Document.TextEditorProperties.Font.Height; + return (Document.GetVisibleLine(Document.TotalNumberOfLines - 1) + 1 + TextView.VisibleLineCount * 2 / 3) * TextView.FontHeight; } } diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs index effbdb9a73..90a3fd26be 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs @@ -614,6 +614,16 @@ namespace ICSharpCode.Core return "namespace " + ((NamespaceResolveResult)result).Name; } else if (result is TypeResolveResult) { return GetText(ambience, ((TypeResolveResult)result).ResolvedClass); + } else if (result is MethodResolveResult) { + IReturnType container = ((MethodResolveResult)result).ContainingType; + List methods = container.GetMethods(); + methods = methods.FindAll(delegate(IMethod m) { + return m.Name == ((MethodResolveResult)result).Name; + }); + if (methods.Count == 1) + return GetText(ambience, methods[0]); + else + return "Overload of " + ambience.Convert(container) + "." + ((MethodResolveResult)result).Name; } else { // if (result.ResolvedType != null) // return "expression of type " + ambience.Convert(result.ResolvedType); diff --git a/src/Main/Base/Project/Src/Services/File/FileService.cs b/src/Main/Base/Project/Src/Services/File/FileService.cs index 1e14ffdd51..09b0ab6218 100644 --- a/src/Main/Base/Project/Src/Services/File/FileService.cs +++ b/src/Main/Base/Project/Src/Services/File/FileService.cs @@ -68,33 +68,13 @@ namespace ICSharpCode.Core DisplayBindingService.AttachSubWindows(newContent.WorkbenchWindow); } } + public static bool IsOpen(string fileName) { - foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { - if (content.IsUntitled) { - if (content.UntitledName == fileName) { - return true; - } - } else if (content.FileName == fileName) { - return true; - } - if (content.WorkbenchWindow == null || content.WorkbenchWindow.SubViewContents == null) - continue; - foreach(object subViewContent in content.WorkbenchWindow.SubViewContents) { - IViewContent viewContent = subViewContent as IViewContent; - if (viewContent != null && viewContent.FileName != null) { - try { - if (Path.GetFullPath(viewContent.FileName.ToUpper()) == Path.GetFullPath(fileName.ToUpper())) { - return true; - } - } catch (Exception) { - } - } - } - } - return false; + return GetOpenFile(fileName) != null; } - public static void OpenFile(string fileName) + + public static IWorkbenchWindow OpenFile(string fileName) { // test, if file fileName exists if (!fileName.StartsWith("http://")) { @@ -105,23 +85,23 @@ namespace ICSharpCode.Core foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { if (content.IsUntitled && content.UntitledName == fileName) { content.WorkbenchWindow.SelectWindow(); - return; + return content.WorkbenchWindow; } } } else if (!FileUtility.TestFileExists(fileName)) { - return; + return null; } } foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { - // WINDOWS DEPENDENCY : ToUpper() if (content.FileName != null) { try { if (fileName.StartsWith("http://") ? content.FileName == fileName : FileUtility.IsEqualFileName(content.FileName, fileName)) { content.WorkbenchWindow.SelectWindow(); - return; + return content.WorkbenchWindow; } } catch (Exception) { + // TODO: what kind of exception is ignored here? } } if (content.WorkbenchWindow == null || content.WorkbenchWindow.SubViewContents == null) @@ -133,9 +113,10 @@ namespace ICSharpCode.Core if (fileName.StartsWith("http://") ? viewContent.FileName == fileName : Path.GetFullPath(viewContent.FileName.ToUpper()) == Path.GetFullPath(fileName.ToUpper())) { viewContent.WorkbenchWindow.SelectWindow(); - return; + return content.WorkbenchWindow; } } catch (Exception) { + // TODO: what kind of exception is ignored here? } } } @@ -150,6 +131,7 @@ namespace ICSharpCode.Core } else { throw new ApplicationException("Can't open " + fileName + ", no display codon found."); } + return GetOpenFile(fileName); } public static IWorkbenchWindow NewFile(string defaultName, string language, string content) diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionData.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionData.cs index ec35cca1bc..7e80ba35d4 100644 --- a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionData.cs +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionData.cs @@ -224,7 +224,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor ret.Append(whitespace.Replace(xml.Value, " ")); } } while(xml.Read()); - } catch { + } catch (Exception ex) { + Console.WriteLine(ex); return doc; } return ret.ToString(); diff --git a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceManager.cs b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceManager.cs index 5660a886a1..5403f53d0f 100644 --- a/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceManager.cs +++ b/src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchReplaceManager.cs @@ -169,8 +169,7 @@ namespace SearchAndReplace static TextEditorControl OpenTextArea(string fileName) { if (fileName != null) { - - FileService.OpenFile(fileName); + return ((ITextEditorControlProvider)FileService.OpenFile(fileName).ViewContent).TextEditorControl; } return ((ITextEditorControlProvider)WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent).TextEditorControl;