Browse Source

Fixed some off-by-one bugs in the CSharpCodeCompletion example (caused by the different line counting in the parser and the text editor).

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2674 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
22775ffe8e
  1. 4
      samples/CSharpCodeCompletion/CodeCompletionProvider.cs
  2. 11
      samples/CSharpCodeCompletion/MainForm.cs
  3. 4
      samples/CSharpCodeCompletion/ToolTipProvider.cs

4
samples/CSharpCodeCompletion/CodeCompletionProvider.cs

@ -94,8 +94,8 @@ namespace CSharpEditor @@ -94,8 +94,8 @@ namespace CSharpEditor
NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent, mainForm.myProjectContent.Language);
Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea),
textArea.Caret.Line,
textArea.Caret.Column,
textArea.Caret.Line + 1,
textArea.Caret.Column + 1,
fileName,
textArea.MotherTextEditorControl.Text);
List<ICompletionData> resultList = new List<ICompletionData>();

11
samples/CSharpCodeCompletion/MainForm.cs

@ -80,6 +80,7 @@ class MainClass @@ -80,6 +80,7 @@ class MainClass
";
textEditorControl1.SetHighlighting("C#");
textEditorControl1.ShowEOLMarkers = false;
textEditorControl1.ShowInvalidLines = false;
HostCallbackImplementation.Register(this);
CodeCompletionKeyHandler.Attach(this, textEditorControl1);
ToolTipProvider.Attach(this, textEditorControl1);
@ -118,11 +119,13 @@ class MainClass @@ -118,11 +119,13 @@ class MainClass
"System", "System.Data", "System.Drawing", "System.Xml", "System.Windows.Forms"
};
foreach (string assemblyName in referencedAssemblies) {
{ // block for anonymous method
string assemblyNameCopy = assemblyName;
BeginInvoke(new MethodInvoker(delegate { parserThreadLabel.Text = "Loading " + assemblyNameCopy + "..."; }));
string assemblyNameCopy = assemblyName; // copy for anonymous method
BeginInvoke(new MethodInvoker(delegate { parserThreadLabel.Text = "Loading " + assemblyNameCopy + "..."; }));
Dom.IProjectContent referenceProjectContent = pcRegistry.GetProjectContentForReference(assemblyName, assemblyName);
myProjectContent.AddReferencedContent(referenceProjectContent);
if (referenceProjectContent is Dom.ReflectionProjectContent) {
(referenceProjectContent as Dom.ReflectionProjectContent).InitializeReferences();
}
myProjectContent.AddReferencedContent(pcRegistry.GetProjectContentForReference(assemblyName, assemblyName));
}
BeginInvoke(new MethodInvoker(delegate { parserThreadLabel.Text = "Ready"; }));

4
samples/CSharpCodeCompletion/ToolTipProvider.cs

@ -64,8 +64,8 @@ namespace CSharpEditor @@ -64,8 +64,8 @@ namespace CSharpEditor
TextEditor.TextArea textArea = editor.ActiveTextAreaControl.TextArea;
NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent, mainForm.myProjectContent.Language);
ResolveResult rr = resolver.Resolve(expression,
textArea.Caret.Line,
textArea.Caret.Column,
e.LogicalPosition.Y + 1,
e.LogicalPosition.X + 1,
MainForm.DummyFileName,
textArea.MotherTextEditorControl.Text);
string toolTipText = GetText(rr);

Loading…
Cancel
Save