Browse Source

Port HtmlHelp2 to ITextEditor.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5244 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 16 years ago
parent
commit
bf14c56020
  1. 12
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj
  2. 27
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs

12
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>HtmlHelp2</RootNamespace>
@ -112,6 +113,10 @@ @@ -112,6 +113,10 @@
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Libraries\NRefactory\Project\NRefactory.csproj">
<Project>{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}</Project>
<Name>NRefactory</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
@ -126,11 +131,6 @@ @@ -126,11 +131,6 @@
<Project>{E54A5AD2-418D-4A85-BA5E-CD803DE38715}</Project>
<Name>HtmlHelp2JScriptGlobals</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj">
<Project>{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}</Project>
<Name>ICSharpCode.TextEditor</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>

27
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs

@ -1,3 +1,6 @@ @@ -1,3 +1,6 @@
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Editor;
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
@ -23,7 +26,6 @@ namespace HtmlHelp2 @@ -23,7 +26,6 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.TextEditor;
using MSHelpServices;
public class ShowDynamicHelpMenuCommand : AbstractMenuCommand
@ -39,7 +41,7 @@ namespace HtmlHelp2 @@ -39,7 +41,7 @@ namespace HtmlHelp2
{
HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser;
private List<string> dynamicHelpTerms = new List<string>();
private TextLocation lastPoint = TextLocation.Empty;
private Location lastPoint = Location.Empty;
private string debugPreElement = String.Empty;
private bool enableDebugInfo = HtmlHelp2Environment.Config.DynamicHelpDebugInfos;
@ -201,26 +203,25 @@ namespace HtmlHelp2 @@ -201,26 +203,25 @@ namespace HtmlHelp2
{
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if (window == null) return null;
ITextEditorControlProvider provider = window.ActiveViewContent as ITextEditorControlProvider;
ITextEditorProvider provider = window.ActiveViewContent as ITextEditorProvider;
if (provider == null) return null;
TextEditorControl ctl = provider.TextEditorControl;
ITextEditor editor = provider.TextEditor;
// e might be null when this is a manually triggered update
string fileName = (e == null) ? ctl.FileName : e.FileName;
if (ctl.FileName != fileName) return null;
FileName fileName = (e == null) ? editor.FileName : e.FileName;
if (editor.FileName != fileName) return null;
IExpressionFinder expressionFinder = ParserService.GetExpressionFinder(fileName);
if (expressionFinder == null) return null;
Caret caret = ctl.ActiveTextAreaControl.Caret;
string content = (e == null) ? ctl.Text : e.Content.Text;
ExpressionResult expr = expressionFinder.FindFullExpression(content, caret.Offset);
string content = (e == null) ? editor.Document.Text : e.Content.Text;
ExpressionResult expr = expressionFinder.FindFullExpression(content, editor.Caret.Offset);
if (expr.Expression == null) return null;
// save the current position
if(this.lastPoint != null && this.lastPoint == caret.Position) return null;
this.lastPoint = caret.Position;
if(this.lastPoint != null && this.lastPoint == editor.Caret.Position) return null;
this.lastPoint = editor.Caret.Position;
this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture, "!{0}", expr.Expression));
return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content);
return ParserService.Resolve(expr, editor.Caret.Line, editor.Caret.Column, fileName, content);
}
#endregion

Loading…
Cancel
Save