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
NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent, mainForm.myProjectContent.Language); NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent, mainForm.myProjectContent.Language);
Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea), Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea),
textArea.Caret.Line, textArea.Caret.Line + 1,
textArea.Caret.Column, textArea.Caret.Column + 1,
fileName, fileName,
textArea.MotherTextEditorControl.Text); textArea.MotherTextEditorControl.Text);
List<ICompletionData> resultList = new List<ICompletionData>(); List<ICompletionData> resultList = new List<ICompletionData>();

11
samples/CSharpCodeCompletion/MainForm.cs

@ -80,6 +80,7 @@ class MainClass
"; ";
textEditorControl1.SetHighlighting("C#"); textEditorControl1.SetHighlighting("C#");
textEditorControl1.ShowEOLMarkers = false; textEditorControl1.ShowEOLMarkers = false;
textEditorControl1.ShowInvalidLines = false;
HostCallbackImplementation.Register(this); HostCallbackImplementation.Register(this);
CodeCompletionKeyHandler.Attach(this, textEditorControl1); CodeCompletionKeyHandler.Attach(this, textEditorControl1);
ToolTipProvider.Attach(this, textEditorControl1); ToolTipProvider.Attach(this, textEditorControl1);
@ -118,11 +119,13 @@ class MainClass
"System", "System.Data", "System.Drawing", "System.Xml", "System.Windows.Forms" "System", "System.Data", "System.Drawing", "System.Xml", "System.Windows.Forms"
}; };
foreach (string assemblyName in referencedAssemblies) { foreach (string assemblyName in referencedAssemblies) {
{ // block for anonymous method string assemblyNameCopy = assemblyName; // copy for anonymous method
string assemblyNameCopy = assemblyName; BeginInvoke(new MethodInvoker(delegate { parserThreadLabel.Text = "Loading " + assemblyNameCopy + "..."; }));
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"; })); BeginInvoke(new MethodInvoker(delegate { parserThreadLabel.Text = "Ready"; }));

4
samples/CSharpCodeCompletion/ToolTipProvider.cs

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

Loading…
Cancel
Save