git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@315 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
|
After Width: | Height: | Size: 343 B |
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 751 B |
|
After Width: | Height: | Size: 459 B |
|
After Width: | Height: | Size: 714 B |
|
After Width: | Height: | Size: 481 B |
|
After Width: | Height: | Size: 834 B |
@ -0,0 +1,6 @@ |
|||||||
|
Microsoft Visual Studio Solution File, Format Version 9.00 |
||||||
|
# SharpDevelop 2.0.0.280 |
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}" |
||||||
|
EndProject |
||||||
|
Global |
||||||
|
EndGlobal |
||||||
@ -0,0 +1,32 @@ |
|||||||
|
using System.Reflection; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
|
||||||
|
// Information about this assembly is defined by the following
|
||||||
|
// attributes.
|
||||||
|
//
|
||||||
|
// change them to the information which is associated with the assembly
|
||||||
|
// you compile.
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("Microsoft Help 2.0 Environment")] |
||||||
|
[assembly: AssemblyDescription("Integrates Microsoft Help 2.0 in SharpDevelop")] |
||||||
|
[assembly: AssemblyConfiguration("")] |
||||||
|
[assembly: AssemblyCompany("Cube")] |
||||||
|
[assembly: AssemblyProduct("SharpDevelop")] |
||||||
|
[assembly: AssemblyCopyright("Copyright © 2005 Mathias Simmack")] |
||||||
|
[assembly: AssemblyTrademark("")] |
||||||
|
[assembly: AssemblyCulture("")] |
||||||
|
|
||||||
|
// The assembly version has following format :
|
||||||
|
//
|
||||||
|
// Major.Minor.Build.Revision
|
||||||
|
//
|
||||||
|
// You can specify all values by your own or you can build default build and revision
|
||||||
|
// numbers with the '*' character (the default):
|
||||||
|
|
||||||
|
[assembly: AssemblyVersion("2.0.0.4")] |
||||||
|
|
||||||
|
// The following attributes specify the key for the sign of your assembly. See the
|
||||||
|
// .NET Framework documentation for more information about signing.
|
||||||
|
// This is not required, if you don't want signing let these attributes like they're.
|
||||||
|
[assembly: AssemblyDelaySign(false)] |
||||||
|
[assembly: AssemblyKeyFile("")] |
||||||
@ -0,0 +1,105 @@ |
|||||||
|
<AddIn name = "Help 2.0 Environment for SharpDevelop" |
||||||
|
author = "Mathias Simmack" |
||||||
|
copyright = "Copyright (c) 2005" |
||||||
|
url = "unknown" |
||||||
|
description = "integrates Microsoft's Help 2.0 Environment" |
||||||
|
version = "2.0.0.2"> |
||||||
|
|
||||||
|
<Runtime> |
||||||
|
<Import assembly="HtmlHelp2.dll"/> |
||||||
|
</Runtime> |
||||||
|
|
||||||
|
<Path name = "/SharpDevelop/Workbench/Pads"> |
||||||
|
<Pad id = "TocPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.Contents}" |
||||||
|
icon = "HtmlHelp2.16x16.Toc" |
||||||
|
class = "HtmlHelp2.HtmlHelp2TocPad"/> |
||||||
|
<Pad id = "IndexPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.Index}" |
||||||
|
icon = "HtmlHelp2.16x16.Index" |
||||||
|
class = "HtmlHelp2.HtmlHelp2IndexPad"/> |
||||||
|
<Pad id = "SearchPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.Search}" |
||||||
|
icon = "HtmlHelp2.16x16.Search" |
||||||
|
class = "HtmlHelp2.HtmlHelp2SearchPad"/> |
||||||
|
<Pad id = "FavoritesPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.Favorites}" |
||||||
|
icon = "HtmlHelp2.16x16.Favorites" |
||||||
|
class = "HtmlHelp2.HtmlHelp2FavoritesPad"/> |
||||||
|
<Pad id = "IndexResultsPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.IndexResults}" |
||||||
|
icon = "HtmlHelp2.16x16.IndexResults" |
||||||
|
class = "HtmlHelp2.HtmlHelp2IndexResultsPad"/> |
||||||
|
<Pad id = "SearchResultsPad" |
||||||
|
category = "Help2" |
||||||
|
title = "${res:AddIns.HtmlHelp2.SearchResults}" |
||||||
|
icon = "HtmlHelp2.16x16.SearchResults" |
||||||
|
class = "HtmlHelp2.HtmlHelp2SearchResultsPad"/> |
||||||
|
</Path> |
||||||
|
|
||||||
|
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions"> |
||||||
|
<DialogPanel id = "HtmlHelp2Options" |
||||||
|
label = "${res:AddIns.HtmlHelp2.Environment}" |
||||||
|
class = "HtmlHelp2Service.HtmlHelp2OptionsPanel"/> |
||||||
|
</Path> |
||||||
|
|
||||||
|
<Path name = "/SharpDevelop/Workbench/MainMenu/Help"> |
||||||
|
<!-- <MenuItem id = "DynamicHelpPadCommand" |
||||||
|
insertafter = "DynamicHelp" |
||||||
|
label = "${res:AddIns.HtmlHelp2.DynamicHelp}" |
||||||
|
icon = "HtmlHelp2.16x16.DynamicHelp" |
||||||
|
shortcut = "Control|F1" |
||||||
|
class = "HtmlHelp2.ShowDynamicHelpMenuCommand"/> --> |
||||||
|
<MenuItem id = "TocPadCommand" |
||||||
|
insertafter = "DynamicHelp" |
||||||
|
label = "${res:AddIns.HtmlHelp2.Contents}" |
||||||
|
icon = "HtmlHelp2.16x16.Toc" |
||||||
|
shortcut = "Control|Alt|F1" |
||||||
|
class = "HtmlHelp2.ShowTocMenuCommand"/> |
||||||
|
<MenuItem id = "IndexPadCommand" |
||||||
|
label = "${res:AddIns.HtmlHelp2.Index}" |
||||||
|
icon = "HtmlHelp2.16x16.Index" |
||||||
|
shortcut = "Control|Alt|F2" |
||||||
|
class = "HtmlHelp2.ShowIndexMenuCommand" |
||||||
|
insertafter = "TocPadCommand"/> |
||||||
|
<MenuItem id = "SearchPadCommand" |
||||||
|
label = "${res:AddIns.HtmlHelp2.SearchCommand}" |
||||||
|
icon = "HtmlHelp2.16x16.Search" |
||||||
|
shortcut = "Control|Alt|F3" |
||||||
|
class = "HtmlHelp2.ShowSearchMenuCommand" |
||||||
|
insertafter = "IndexPadCommand"/> |
||||||
|
<MenuItem id = "FavoritesPadCommand" |
||||||
|
label = "${res:AddIns.HtmlHelp2.Favorites}" |
||||||
|
icon = "HtmlHelp2.16x16.Favorites" |
||||||
|
shortcut = "Control|Alt|F" |
||||||
|
class = "HtmlHelp2.ShowFavoritesMenuCommand" |
||||||
|
insertafter = "SearchPadCommand"/> |
||||||
|
<MenuItem id = "HtmlHelp2Separator2" |
||||||
|
type = "Separator" |
||||||
|
insertafter = "FavoritesPadCommand"/> |
||||||
|
<MenuItem id = "IndexResultsPadCommand" |
||||||
|
label = "${res:AddIns.HtmlHelp2.IndexResults}" |
||||||
|
icon = "HtmlHelp2.16x16.IndexResults" |
||||||
|
shortcut = "Shift|Alt|F2" |
||||||
|
class = "HtmlHelp2.ShowIndexResultsMenuCommand" |
||||||
|
insertafter = "HtmlHelp2Separator2"/> |
||||||
|
<MenuItem id = "SearchResultsPadCommand" |
||||||
|
label = "${res:AddIns.HtmlHelp2.SearchResults}" |
||||||
|
icon = "HtmlHelp2.16x16.SearchResults" |
||||||
|
shortcut = "Shift|Alt|F3" |
||||||
|
class = "HtmlHelp2.ShowSearchResultsMenuCommand" |
||||||
|
insertbefore = "Separator1" |
||||||
|
insertafter = "IndexResultsPadCommand"/> |
||||||
|
</Path> |
||||||
|
|
||||||
|
<!--<Path name = "/SharpDevelop/Workbench/DisplayBindings"> |
||||||
|
<DisplayBinding id = "HtmlHelp2BrowserControlBinding" |
||||||
|
supportedformats = "Web Pages" |
||||||
|
class = "HtmlHelp2Browser.HtmlHelp2BrowserControlBinding"/> |
||||||
|
</Path> --> |
||||||
|
</AddIn> |
||||||
@ -0,0 +1,89 @@ |
|||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<PropertyGroup> |
||||||
|
<OutputType>Library</OutputType> |
||||||
|
<RootNamespace>HtmlHelp2</RootNamespace> |
||||||
|
<AssemblyName>HtmlHelp2</AssemblyName> |
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||||
|
<ProjectGuid>{918487B7-2153-4618-BBB3-344DBDDF2A2A}</ProjectGuid> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||||
|
<OutputPath>..\..\..\..\..\AddIns\AddIns\Misc\HtmlHelp2\</OutputPath> |
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||||
|
<OutputPath>..\..\..\..\..\AddIns\AddIns\Misc\HtmlHelp2\</OutputPath> |
||||||
|
<Optimize>true</Optimize> |
||||||
|
<DefineConstants>TRACE</DefineConstants> |
||||||
|
</PropertyGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Reference Include="System" /> |
||||||
|
<Reference Include="System.Xml" /> |
||||||
|
<Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
||||||
|
<Reference Include="stdole"> |
||||||
|
<HintPath>..\RequiredLibraries\stdole.dll</HintPath> |
||||||
|
<SpecificVersion>False</SpecificVersion> |
||||||
|
</Reference> |
||||||
|
<Reference Include="MSHelpControls"> |
||||||
|
<HintPath>..\RequiredLibraries\MSHelpControls.dll</HintPath> |
||||||
|
<SpecificVersion>False</SpecificVersion> |
||||||
|
</Reference> |
||||||
|
<Reference Include="MSHelpServices"> |
||||||
|
<HintPath>..\RequiredLibraries\MSHelpServices.dll</HintPath> |
||||||
|
<SpecificVersion>False</SpecificVersion> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Compile Include="src\BaseControls\TocPad.cs" /> |
||||||
|
<None Include="src\BaseControls\DynamicHelpPad.cs" /> |
||||||
|
<Compile Include="src\BaseControls\FavoritesPad.cs" /> |
||||||
|
<Compile Include="src\BaseControls\IndexPad.cs" /> |
||||||
|
<Compile Include="src\BaseControls\IndexResultsPad.cs" /> |
||||||
|
<Compile Include="src\BaseControls\SearchPad.cs" /> |
||||||
|
<Compile Include="src\BaseControls\SearchResultsPad.cs" /> |
||||||
|
<Compile Include="src\BrowserControl\Browser.cs" /> |
||||||
|
<Compile Include="src\BrowserControl\ShowHelpBrowser.cs" /> |
||||||
|
<None Include="HtmlHelp2.addin"> |
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
||||||
|
</None> |
||||||
|
<Compile Include="src\Service\Help2RegistryWalker.cs" /> |
||||||
|
<Compile Include="src\Service\HtmlHelp2Dialog.cs" /> |
||||||
|
<Compile Include="src\Service\HtmlHelp2Service.cs" /> |
||||||
|
<Compile Include="src\Service\ResourcesHelper.cs" /> |
||||||
|
<Compile Include="src\Service\Help2ControlsValidation.cs" /> |
||||||
|
<Compile Include="src\Service\AxMSHelpControls.cs" /> |
||||||
|
<Compile Include="src\Service\HtmlHelp2Options.cs" /> |
||||||
|
<Compile Include="Configuration\AssemblyInfo.cs" /> |
||||||
|
<EmbeddedResource Include="Resources\Favorites.16x16.Delete.bmp" /> |
||||||
|
<EmbeddedResource Include="Resources\Favorites.16x16.MoveDown.bmp" /> |
||||||
|
<EmbeddedResource Include="Resources\Favorites.16x16.MoveUp.bmp" /> |
||||||
|
<EmbeddedResource Include="Resources\Favorites.16x16.Rename.bmp" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2Options.xfrm" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.TextZoom.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.AddToFavorites.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Back.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Forward.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Home.gif" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.NewWindow.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.NextTopic.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.PrevTopic.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Refresh.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.SearchSite.gif" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Stop.png" /> |
||||||
|
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.SyncToc.png" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> |
||||||
|
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project> |
||||||
|
<Name>ICSharpCode.SharpDevelop</Name> |
||||||
|
<Private>False</Private> |
||||||
|
</ProjectReference> |
||||||
|
<ProjectReference Include="..\..\..\..\Main\Core\Project\ICSharpCode.Core.csproj"> |
||||||
|
<Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project> |
||||||
|
<Name>ICSharpCode.Core</Name> |
||||||
|
<Private>False</Private> |
||||||
|
</ProjectReference> |
||||||
|
</ItemGroup> |
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> |
||||||
|
</Project> |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " /> |
||||||
|
</Project> |
||||||
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 1020 B |
|
After Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 228 B |
|
After Width: | Height: | Size: 700 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 730 B |
|
After Width: | Height: | Size: 236 B |
|
After Width: | Height: | Size: 254 B |
@ -0,0 +1,35 @@ |
|||||||
|
<Components version="1.0"> |
||||||
|
<System.Windows.Forms.UserControl> |
||||||
|
<Name value="HtmlHelp2Options" /> |
||||||
|
<DockPadding value="" /> |
||||||
|
<ClientSize value="{Width=360, Height=320}" /> |
||||||
|
<Controls> |
||||||
|
<System.Windows.Forms.GroupBox> |
||||||
|
<Name value="groupBox1" /> |
||||||
|
<TabIndex value="0" /> |
||||||
|
<Location value="{X=8,Y=8}" /> |
||||||
|
<Anchor value="Top, Left, Right" /> |
||||||
|
<Size value="{Width=344, Height=112}" /> |
||||||
|
<Text value="${res:AddIns.HtmlHelp2.Options.Groupbox}" /> |
||||||
|
<Controls> |
||||||
|
<System.Windows.Forms.ComboBox> |
||||||
|
<Name value="help2Collections" /> |
||||||
|
<Anchor value="Top, Left, Right" /> |
||||||
|
<TabIndex value="1" /> |
||||||
|
<Location value="{X=16,Y=80}" /> |
||||||
|
<Size value="{Width=312, Height=21}" /> |
||||||
|
<DropDownStyle value="DropDownList" /> |
||||||
|
</System.Windows.Forms.ComboBox> |
||||||
|
<System.Windows.Forms.Label> |
||||||
|
<Name value="label1" /> |
||||||
|
<Text value="${res:AddIns.HtmlHelp2.Options.Label}" /> |
||||||
|
<Anchor value="Top, Left, Right" /> |
||||||
|
<TabIndex value="0" /> |
||||||
|
<Size value="{Width=312, Height=45}" /> |
||||||
|
<Location value="{X=16,Y=27}" /> |
||||||
|
</System.Windows.Forms.Label> |
||||||
|
</Controls> |
||||||
|
</System.Windows.Forms.GroupBox> |
||||||
|
</Controls> |
||||||
|
</System.Windows.Forms.UserControl> |
||||||
|
</Components> |
||||||
@ -0,0 +1,308 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Dynamic Help Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
using System.Reflection; |
||||||
|
using System.IO; |
||||||
|
using ICSharpCode.Core.AddIns; |
||||||
|
using ICSharpCode.Core.AddIns.Codons; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using ICSharpCode.Core.Services; |
||||||
|
using ICSharpCode.SharpDevelop.BrowserDisplayBinding; |
||||||
|
using ICSharpCode.SharpDevelop.Services; |
||||||
|
using HtmlHelp2Service; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
using MSHelpServices; |
||||||
|
using mshtml; |
||||||
|
|
||||||
|
|
||||||
|
/* |
||||||
|
* Note: The dynamic help is disabled at the moment. Technically it's |
||||||
|
* possible. You can patch the default editor, trying to integrate the |
||||||
|
* dynamic help. :o) But if you are doing so, don't forget to use the |
||||||
|
* second version of "HtmlHelp2.addin", located in the "DynamicHelpResources" |
||||||
|
* folder. |
||||||
|
* |
||||||
|
* Mathias. |
||||||
|
*/ |
||||||
|
|
||||||
|
public class ShowDynamicHelpMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
HtmlHelp2DynamicHelpPad dynamicHelp = (HtmlHelp2DynamicHelpPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2DynamicHelpPad)); |
||||||
|
if(dynamicHelp != null) dynamicHelp.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2DynamicHelpPad : AbstractPadContent |
||||||
|
{ |
||||||
|
protected HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser; |
||||||
|
HtmlHelp2Environment h2env = null; |
||||||
|
int internalIndex = 0; |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return dynamicHelpBrowser; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void Dispose() |
||||||
|
{ |
||||||
|
try { |
||||||
|
dynamicHelpBrowser.Dispose(); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
dynamicHelpBrowser.RedrawContent(); |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2DynamicHelpPad() : base("${res:AddIns.HtmlHelp2.DynamicHelp}", "HtmlHelp2.16x16.DynamicHelp") |
||||||
|
{ |
||||||
|
h2env = (HtmlHelp2Environment)ServiceManager.Services.GetService(typeof(HtmlHelp2Environment)); |
||||||
|
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl(); |
||||||
|
} |
||||||
|
|
||||||
|
#region WebBrowser Scripting
|
||||||
|
public void BuildDynamicHelpList(string dynamicHelpString, string expectedLanguage) |
||||||
|
{ |
||||||
|
if(h2env == null || !h2env.Help2EnvironmentIsReady || h2env.DynamicHelpIsBusy) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
this.BringPadToFront(); |
||||||
|
try { |
||||||
|
this.RemoveAllChildren(); |
||||||
|
|
||||||
|
Cursor.Current = Cursors.WaitCursor; |
||||||
|
IHxTopicList topics = h2env.GetMatchingTopicsForDynamicHelp(dynamicHelpString); |
||||||
|
Cursor.Current = Cursors.Default; |
||||||
|
|
||||||
|
if(topics.Count > 0) { |
||||||
|
for(int i = 1; i <= topics.Count; i++) { |
||||||
|
IHxTopic topic = topics.ItemAt(i); |
||||||
|
|
||||||
|
if(expectedLanguage == null || expectedLanguage == "" || topic.HasAttribute("DevLang", expectedLanguage)) { |
||||||
|
this.BuildNewChild(topic.Location, |
||||||
|
topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName), |
||||||
|
topic.URL); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void RemoveAllChildren() |
||||||
|
{ |
||||||
|
try { |
||||||
|
dynamicHelpBrowser.Document.body.innerHTML = ""; |
||||||
|
this.internalIndex = 0; |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void BuildNewChild(string sectionName, string topicName, string topicUrl) |
||||||
|
{ |
||||||
|
mshtml.IHTMLElementCollection children = (mshtml.IHTMLElementCollection)((mshtml.IHTMLElement2)dynamicHelpBrowser.Document.body).getElementsByTagName("span"); |
||||||
|
for(int i = 0; i < children.length; i++) { |
||||||
|
mshtml.IHTMLElement span = (mshtml.IHTMLElement)children.item(i,0); |
||||||
|
|
||||||
|
if((string)span.getAttribute("className", 0) == "section") { |
||||||
|
try { |
||||||
|
mshtml.IHTMLElementCollection spanChildren = (mshtml.IHTMLElementCollection)span.children; |
||||||
|
mshtml.IHTMLElement firstChild = (mshtml.IHTMLElement)spanChildren.item(1,0); |
||||||
|
mshtml.IHTMLElement spanChild = (mshtml.IHTMLElement)spanChildren.item(3,0); |
||||||
|
|
||||||
|
if(firstChild.tagName == "B" && firstChild.innerText == sectionName) { |
||||||
|
if(spanChild.tagName == "SPAN" && (string)spanChild.getAttribute("className", 0) == "content") { |
||||||
|
spanChild.insertAdjacentHTML("beforeEnd", |
||||||
|
String.Format("<span class=\"link\" onmouseover=\"window.status='{0}'\" onmouseout=\"window.status=''\" onclick=\"Click('{0}');\">{1}</span><br>", |
||||||
|
topicUrl, topicName) |
||||||
|
); |
||||||
|
|
||||||
|
return; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
finally { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
try { |
||||||
|
if(children.length > 0) { |
||||||
|
dynamicHelpBrowser.Document.body.insertAdjacentHTML("beforeEnd", "<br>"); |
||||||
|
} |
||||||
|
|
||||||
|
dynamicHelpBrowser.Document.body.insertAdjacentHTML("beforeEnd", |
||||||
|
String.Format("<span class=\"section\"><img id=\"image_{0}\" src=\"OpenBook.png\" style=\"width:16px;height:16px;margin-right:5px;\">" + |
||||||
|
"<b style=\"cursor:pointer\" onclick=\"ExpandCollapse({0})\">{1}</b><br>" + |
||||||
|
"<span class=\"content\" id=\"content_{0}\">" + |
||||||
|
"<span class=\"link\" onmouseover=\"window.status='{2}'\" onmouseout=\"window.status=''\" onclick=\"Click('{2}');\">{3}</span><br></span></span>", |
||||||
|
this.internalIndex.ToString(), sectionName, topicUrl, topicName) |
||||||
|
); |
||||||
|
|
||||||
|
this.internalIndex++; |
||||||
|
} |
||||||
|
finally { |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2DynamicHelpBrowserControl : UserControl |
||||||
|
{ |
||||||
|
AxWebBrowser axWebBrowser = null; |
||||||
|
ToolBar dynamicHelpToolbar = new ToolBar(); |
||||||
|
mshtml.HTMLDocument doc = null; |
||||||
|
string[] toolbarButtons = new string[] { |
||||||
|
"${res:AddIns.HtmlHelp2.Contents}", |
||||||
|
"${res:AddIns.HtmlHelp2.Index}", |
||||||
|
"${res:AddIns.HtmlHelp2.Search}" |
||||||
|
}; |
||||||
|
|
||||||
|
public mshtml.HTMLDocument Document |
||||||
|
{ |
||||||
|
get { |
||||||
|
return doc; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
base.Dispose(disposing); |
||||||
|
if (disposing) axWebBrowser.Dispose(); |
||||||
|
} |
||||||
|
|
||||||
|
public void RedrawContent() |
||||||
|
{ |
||||||
|
StringParserService sps = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService)); |
||||||
|
for(int i = 0; i < toolbarButtons.Length; i++) { |
||||||
|
dynamicHelpToolbar.Buttons[i].ToolTipText = sps.Parse(toolbarButtons[i]); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2DynamicHelpBrowserControl() |
||||||
|
{ |
||||||
|
HtmlHelp2Environment h2env = (HtmlHelp2Environment)ServiceManager.Services.GetService(typeof(HtmlHelp2Environment)); |
||||||
|
bool Help2EnvIsReady = (h2env != null && h2env.Help2EnvironmentIsReady); |
||||||
|
|
||||||
|
Dock = DockStyle.Fill; |
||||||
|
Size = new Size(500, 500); |
||||||
|
|
||||||
|
axWebBrowser = new AxWebBrowser(); |
||||||
|
axWebBrowser.BeginInit(); |
||||||
|
axWebBrowser.Dock = DockStyle.Fill; |
||||||
|
axWebBrowser.Enabled = Help2EnvIsReady; |
||||||
|
axWebBrowser.HandleCreated += new EventHandler(this.CreatedWebBrowserHandle); |
||||||
|
axWebBrowser.NewWindow2 += new DWebBrowserEvents2_NewWindow2EventHandler(this.NewBrowserWindow); |
||||||
|
axWebBrowser.StatusTextChange += new DWebBrowserEvents2_StatusTextChangeEventHandler(this.StatusBarChanged); |
||||||
|
axWebBrowser.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(this.DocumentComplete); |
||||||
|
axWebBrowser.EndInit(); |
||||||
|
Controls.Add(axWebBrowser); |
||||||
|
|
||||||
|
Controls.Add(dynamicHelpToolbar); |
||||||
|
dynamicHelpToolbar.Dock = DockStyle.Top; |
||||||
|
dynamicHelpToolbar.Appearance = ToolBarAppearance.Flat; |
||||||
|
dynamicHelpToolbar.Divider = false; |
||||||
|
dynamicHelpToolbar.ButtonClick += new ToolBarButtonClickEventHandler(ToolBarButtonClicked); |
||||||
|
|
||||||
|
StringParserService sps = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService)); |
||||||
|
for(int i = 0; i < toolbarButtons.Length; i++) { |
||||||
|
ToolBarButton button = new ToolBarButton(); |
||||||
|
button.ToolTipText = sps.Parse(toolbarButtons[i]); |
||||||
|
button.ImageIndex = i; |
||||||
|
dynamicHelpToolbar.Buttons.Add(button); |
||||||
|
} |
||||||
|
|
||||||
|
dynamicHelpToolbar.ImageList = new ImageList(); |
||||||
|
dynamicHelpToolbar.ImageList.ColorDepth = ColorDepth.Depth32Bit; |
||||||
|
dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetImage("HtmlHelp2.16x16.Toc")); |
||||||
|
dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetImage("HtmlHelp2.16x16.Index")); |
||||||
|
dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetImage("HtmlHelp2.16x16.Search")); |
||||||
|
} |
||||||
|
|
||||||
|
private void CreatedWebBrowserHandle(object sender, EventArgs evArgs) |
||||||
|
{ |
||||||
|
object arg = System.Reflection.Missing.Value; |
||||||
|
try { |
||||||
|
string url = "about:blank"; |
||||||
|
|
||||||
|
if(File.Exists(String.Format("{0}\\context.html",Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)))) { |
||||||
|
url = String.Format("file://{0}\\context.html",Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); |
||||||
|
} |
||||||
|
axWebBrowser.Navigate(url, ref arg, ref arg, ref arg, ref arg); |
||||||
|
} catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NewBrowserWindow(object sender, DWebBrowserEvents2_NewWindow2Event e) |
||||||
|
{ |
||||||
|
HtmlHelp2BrowserPane help2Browser = ShowHelpBrowser.GetActiveHelp2BrowserView(); |
||||||
|
help2Browser.WorkbenchWindow.SelectWindow(); |
||||||
|
AxWebBrowser newBrowser = (AxWebBrowser)((HtmlHelp2BrowserControl)help2Browser.Control).AxWebBrowser; |
||||||
|
e.ppDisp = newBrowser.Application; |
||||||
|
newBrowser.RegisterAsBrowser = true; |
||||||
|
} |
||||||
|
|
||||||
|
private void DocumentComplete(object sender, DWebBrowserEvents2_DocumentCompleteEvent e) |
||||||
|
{ |
||||||
|
try { |
||||||
|
doc = (mshtml.HTMLDocument)axWebBrowser.Document; |
||||||
|
mshtml.HTMLDocumentEvents2_Event docEvents = (mshtml.HTMLDocumentEvents2_Event)doc; |
||||||
|
docEvents.oncontextmenu += new HTMLDocumentEvents2_oncontextmenuEventHandler(DocumentEventsOnContextMenu); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void StatusBarChanged(object sender, DWebBrowserEvents2_StatusTextChangeEvent e) |
||||||
|
{ |
||||||
|
IStatusBarService statusBarService = (IStatusBarService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(IStatusBarService)); |
||||||
|
statusBarService.SetMessage(e.text); |
||||||
|
} |
||||||
|
|
||||||
|
private bool DocumentEventsOnContextMenu(IHTMLEventObj e) |
||||||
|
{ |
||||||
|
e.cancelBubble = true; |
||||||
|
e.returnValue = false; |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
private void ToolBarButtonClicked(object sender, ToolBarButtonClickEventArgs e) |
||||||
|
{ |
||||||
|
switch(dynamicHelpToolbar.Buttons.IndexOf(e.Button)) { |
||||||
|
case 0: |
||||||
|
HtmlHelp2TocPad toc = (HtmlHelp2TocPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
if(toc != null) toc.BringPadToFront(); |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
HtmlHelp2IndexPad index = (HtmlHelp2IndexPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexPad)); |
||||||
|
if(index != null) index.BringPadToFront(); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
HtmlHelp2SearchPad search = (HtmlHelp2SearchPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad)); |
||||||
|
if(search != null) search.BringPadToFront(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,302 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Favorites Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Reflection; |
||||||
|
using System.Windows.Forms; |
||||||
|
using System.Xml; |
||||||
|
using System.Collections; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using HtmlHelp2Service; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowFavoritesMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor favorites = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2FavoritesPad)); |
||||||
|
if(favorites != null) favorites.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2FavoritesPad : AbstractPadContent |
||||||
|
{ |
||||||
|
const string help2FavoritesFile = "help2favorites.xml"; |
||||||
|
string[] toolbarButtons = new string[] { |
||||||
|
"${res:AddIns.HtmlHelp2.MoveUp}", |
||||||
|
"${res:AddIns.HtmlHelp2.MoveDown}", |
||||||
|
"${res:AddIns.HtmlHelp2.Rename}", |
||||||
|
"${res:AddIns.HtmlHelp2.Delete}" |
||||||
|
}; |
||||||
|
|
||||||
|
bool Help2EnvIsReady = false; |
||||||
|
Panel mainPanel = new Panel(); |
||||||
|
TreeView tv = new TreeView(); |
||||||
|
ToolStrip toolStrip = new ToolStrip(); |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return mainPanel; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
for(int i = 0; i < toolbarButtons.Length; i++) { |
||||||
|
toolStrip.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2FavoritesPad() |
||||||
|
{ |
||||||
|
this.InitializeComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void InitializeComponents() |
||||||
|
{ |
||||||
|
Help2EnvIsReady = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
mainPanel.Controls.Add(tv); |
||||||
|
tv.Dock = DockStyle.Fill; |
||||||
|
tv.Enabled = Help2EnvIsReady; |
||||||
|
tv.ShowLines = false; |
||||||
|
tv.ShowRootLines = false; |
||||||
|
tv.LabelEdit = true; |
||||||
|
tv.HideSelection = false; |
||||||
|
tv.AfterSelect += new TreeViewEventHandler(this.TreeNodeAfterSelect); |
||||||
|
tv.BeforeLabelEdit += new NodeLabelEditEventHandler(this.BeforeLabelEdit); |
||||||
|
tv.AfterLabelEdit += new NodeLabelEditEventHandler(this.AfterLabelEdit); |
||||||
|
tv.KeyDown += new KeyEventHandler(this.TreeViewKeyDown); |
||||||
|
tv.DoubleClick += new EventHandler(this.TreeNodeDoubleClick); |
||||||
|
|
||||||
|
mainPanel.Controls.Add(toolStrip); |
||||||
|
toolStrip.Dock = DockStyle.Top; |
||||||
|
toolStrip.Enabled = Help2EnvIsReady; |
||||||
|
toolStrip.AllowItemReorder = false; |
||||||
|
for(int i = 0; i < toolbarButtons.Length; i++) { |
||||||
|
ToolStripButton button = new ToolStripButton(); |
||||||
|
button.ToolTipText = StringParser.Parse(toolbarButtons[i]); |
||||||
|
button.ImageIndex = i; |
||||||
|
button.Enabled = false; |
||||||
|
button.Click += new EventHandler(this.ToolStripButtonClicked); |
||||||
|
|
||||||
|
toolStrip.Items.Add(button); |
||||||
|
} |
||||||
|
|
||||||
|
toolStrip.ImageList = new ImageList(); |
||||||
|
toolStrip.ImageList.ColorDepth = ColorDepth.Depth4Bit; |
||||||
|
toolStrip.ImageList.TransparentColor = Color.Red; |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.MoveUp.bmp")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.MoveDown.bmp")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Rename.bmp")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Delete.bmp")); |
||||||
|
|
||||||
|
if(Help2EnvIsReady) this.LoadFavorites(); |
||||||
|
} |
||||||
|
|
||||||
|
#region TreeView
|
||||||
|
private void TreeNodeAfterSelect(object sender, TreeViewEventArgs e) |
||||||
|
{ |
||||||
|
TreeNode tn = tv.SelectedNode; |
||||||
|
|
||||||
|
toolStrip.Items[0].Enabled = (tn != null && tn.PrevNode != null); |
||||||
|
toolStrip.Items[1].Enabled = (tn != null && tn.NextNode != null); |
||||||
|
toolStrip.Items[2].Enabled = (tn != null); |
||||||
|
toolStrip.Items[3].Enabled = (tn != null); |
||||||
|
} |
||||||
|
|
||||||
|
private void BeforeLabelEdit(object sender, NodeLabelEditEventArgs e) |
||||||
|
{ |
||||||
|
e.CancelEdit = (e.Node == null); |
||||||
|
} |
||||||
|
|
||||||
|
private void AfterLabelEdit(object Sender, NodeLabelEditEventArgs e) |
||||||
|
{ |
||||||
|
if(e.Label != null && e.Label.Length > 0) { |
||||||
|
if(e.Node.Tag != null && e.Node.Tag is string && (string)e.Node.Tag != "") { |
||||||
|
this.PatchFavoriteName(e.Label.ToString(), (string)e.Node.Tag); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void TreeViewKeyDown(object sender, KeyEventArgs e) |
||||||
|
{ |
||||||
|
if(tv.SelectedNode != null) { |
||||||
|
switch(e.KeyCode) { |
||||||
|
case Keys.F2: |
||||||
|
tv.SelectedNode.BeginEdit(); |
||||||
|
break; |
||||||
|
case Keys.Delete: |
||||||
|
tv.Nodes.Remove(tv.SelectedNode); |
||||||
|
this.SaveFavorites(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void TreeNodeDoubleClick(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
TreeNode tn = tv.SelectedNode; |
||||||
|
|
||||||
|
if(tn != null && tn.Tag != null && tn.Tag is string && (string)tn.Tag != "") { |
||||||
|
ShowHelpBrowser.OpenHelpView((string)tn.Tag); |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ToolStrip
|
||||||
|
private void ToolStripButtonClicked(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(tv.SelectedNode == null) return; |
||||||
|
|
||||||
|
ToolStripItem item = (ToolStripItem)sender; |
||||||
|
TreeNode tempNode = null; |
||||||
|
|
||||||
|
switch(item.ImageIndex) { |
||||||
|
case 0: |
||||||
|
tempNode = (TreeNode)tv.SelectedNode.Clone(); |
||||||
|
tv.Nodes.Insert(tv.SelectedNode.PrevNode.Index, tempNode); |
||||||
|
tv.Nodes.Remove(tv.SelectedNode); |
||||||
|
tv.SelectedNode = tempNode; |
||||||
|
this.SaveFavorites(); |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
tempNode = (TreeNode)tv.SelectedNode.Clone(); |
||||||
|
TreeNode nextNextNode = tv.SelectedNode.NextNode.NextNode; |
||||||
|
if(nextNextNode == null) tv.Nodes.Add(tempNode); |
||||||
|
else tv.Nodes.Insert(nextNextNode.Index, tempNode); |
||||||
|
tv.Nodes.Remove(tv.SelectedNode); |
||||||
|
tv.SelectedNode = tempNode; |
||||||
|
this.SaveFavorites(); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
tv.SelectedNode.BeginEdit(); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.RemoveFavorite}", new string[,] {{"0", tv.SelectedNode.Text}}); |
||||||
|
DialogResult result = MessageBox.Show(text, |
||||||
|
StringParser.Parse("${res:MainWindow.Windows.HelpScoutLabel}"), |
||||||
|
MessageBoxButtons.YesNo, |
||||||
|
MessageBoxIcon.Question, |
||||||
|
MessageBoxDefaultButton.Button2); |
||||||
|
if(result == DialogResult.Yes) { |
||||||
|
tv.Nodes.Remove(tv.SelectedNode); |
||||||
|
this.SaveFavorites(); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
this.TreeNodeAfterSelect(null, null); |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Favorites
|
||||||
|
private void LoadFavorites() |
||||||
|
{ |
||||||
|
tv.Nodes.Clear(); |
||||||
|
tv.BeginUpdate(); |
||||||
|
|
||||||
|
try { |
||||||
|
XmlDocument xmldoc = new XmlDocument(); |
||||||
|
xmldoc.Load(PropertyService.ConfigDirectory + help2FavoritesFile); |
||||||
|
|
||||||
|
XmlNodeList nl = xmldoc.SelectNodes("favorites/favorite"); |
||||||
|
for(int i = 0; i < nl.Count; i++) { |
||||||
|
XmlNode title = nl.Item(i).SelectSingleNode("title"); |
||||||
|
XmlNode url = nl.Item(i).SelectSingleNode("url"); |
||||||
|
|
||||||
|
if(title != null && url != null && title.InnerText != "" && url.InnerText != "") { |
||||||
|
TreeNode node = new TreeNode(); |
||||||
|
node.Text = title.InnerText; |
||||||
|
node.Tag = url.InnerText; |
||||||
|
tv.Nodes.Add(node); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
|
||||||
|
tv.EndUpdate(); |
||||||
|
} |
||||||
|
|
||||||
|
private void SaveFavorites() |
||||||
|
{ |
||||||
|
try { |
||||||
|
XmlDocument xmldoc = new XmlDocument(); |
||||||
|
xmldoc.LoadXml("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><favorites/>"); |
||||||
|
|
||||||
|
foreach(TreeNode node in tv.Nodes) { |
||||||
|
if(node.Text != "" && node.Tag != null && node.Tag is string && (string)node.Tag != "") { |
||||||
|
XmlNode favorite = xmldoc.CreateElement("favorite"); |
||||||
|
|
||||||
|
XmlNode title = xmldoc.CreateElement("title"); |
||||||
|
title.InnerText = node.Text; |
||||||
|
favorite.AppendChild(title); |
||||||
|
|
||||||
|
XmlCDataSection cdata = xmldoc.CreateCDataSection((string)node.Tag); |
||||||
|
XmlNode url = xmldoc.CreateElement("url"); |
||||||
|
url.AppendChild(cdata); |
||||||
|
favorite.AppendChild(url); |
||||||
|
xmldoc.DocumentElement.AppendChild(favorite); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void PatchFavoriteName(string newName, string topicUrl) |
||||||
|
{ |
||||||
|
try { |
||||||
|
XmlDocument xmldoc = new XmlDocument(); |
||||||
|
xmldoc.Load(PropertyService.ConfigDirectory + help2FavoritesFile); |
||||||
|
|
||||||
|
XmlNode node = xmldoc.SelectSingleNode(String.Format("/favorites/favorite[url=\"{0}\"]/title", topicUrl)); |
||||||
|
|
||||||
|
if(node != null) { |
||||||
|
node.InnerText = newName; |
||||||
|
xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile); |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void AddToFavorites(string topicName, string topicUrl) |
||||||
|
{ |
||||||
|
if(Help2EnvIsReady && topicName != "" && topicUrl != "") { |
||||||
|
bool urlFound = false; |
||||||
|
|
||||||
|
foreach(TreeNode node in tv.Nodes) { |
||||||
|
if(node.Tag != null && node.Tag is string && String.Compare(topicUrl, (string)node.Tag) == 0) { |
||||||
|
urlFound = true; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if(!urlFound) { |
||||||
|
TreeNode node = new TreeNode(); |
||||||
|
node.Text = topicName; |
||||||
|
node.Tag = topicUrl; |
||||||
|
|
||||||
|
tv.Nodes.Add(node); |
||||||
|
this.SaveFavorites(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,295 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Index Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using AxMSHelpControls; |
||||||
|
using MSHelpControls; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2Service; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowIndexMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor index = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexPad)); |
||||||
|
if(index != null) index.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2IndexPad : AbstractPadContent |
||||||
|
{ |
||||||
|
protected MsHelp2IndexControl help2IndexControl; |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return help2IndexControl; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void Dispose() |
||||||
|
{ |
||||||
|
help2IndexControl.Dispose(); |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
help2IndexControl.RedrawContent(); |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2IndexPad() |
||||||
|
{ |
||||||
|
help2IndexControl = new MsHelp2IndexControl(); |
||||||
|
help2IndexControl.LoadIndex(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class MsHelp2IndexControl : UserControl |
||||||
|
{ |
||||||
|
AxHxIndexCtrl indexControl = null; |
||||||
|
ComboBox filterCombobox = new ComboBox(); |
||||||
|
ComboBox searchTerm = new ComboBox(); |
||||||
|
Label label1 = new Label(); |
||||||
|
Label label2 = new Label(); |
||||||
|
bool itemClicked = false; |
||||||
|
|
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
base.Dispose(disposing); |
||||||
|
|
||||||
|
if(disposing && indexControl != null) { |
||||||
|
indexControl.Dispose(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void RedrawContent() |
||||||
|
{ |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
label2.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookFor}"); |
||||||
|
} |
||||||
|
|
||||||
|
public MsHelp2IndexControl() |
||||||
|
{ |
||||||
|
bool Help2EnvIsReady = (HtmlHelp2Environment.IsReady && Help2ControlsValidation.IsIndexControlRegistered); |
||||||
|
|
||||||
|
if(Help2EnvIsReady) { |
||||||
|
try { |
||||||
|
indexControl = new AxHxIndexCtrl(); |
||||||
|
indexControl.BeginInit(); |
||||||
|
indexControl.Dock = DockStyle.Fill; |
||||||
|
indexControl.ItemClick += new AxMSHelpControls.IHxIndexViewEvents_ItemClickEventHandler(this.IndexItemClicked); |
||||||
|
indexControl.EndInit(); |
||||||
|
Controls.Add(indexControl); |
||||||
|
indexControl.CreateControl(); |
||||||
|
indexControl.BorderStyle = HxBorderStyle.HxBorderStyle_FixedSingle; |
||||||
|
indexControl.FontSource = HxFontSourceConstant.HxFontExternal; |
||||||
|
|
||||||
|
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged); |
||||||
|
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded); |
||||||
|
} |
||||||
|
catch { |
||||||
|
this.FakeHelpControl(); |
||||||
|
} |
||||||
|
} |
||||||
|
else { |
||||||
|
this.FakeHelpControl(); |
||||||
|
} |
||||||
|
|
||||||
|
// Filter Combobox
|
||||||
|
Panel panel1 = new Panel(); |
||||||
|
Controls.Add(panel1); |
||||||
|
panel1.Dock = DockStyle.Top; |
||||||
|
panel1.Height = filterCombobox.Height + 7; |
||||||
|
panel1.Controls.Add(filterCombobox); |
||||||
|
filterCombobox.Dock = DockStyle.Top; |
||||||
|
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList; |
||||||
|
filterCombobox.Sorted = true; |
||||||
|
filterCombobox.Enabled = Help2EnvIsReady; |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
|
||||||
|
// Filter label
|
||||||
|
Controls.Add(label1); |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
label1.Dock = DockStyle.Top; |
||||||
|
label1.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
label1.Enabled = Help2EnvIsReady; |
||||||
|
|
||||||
|
// SearchTerm Combobox
|
||||||
|
Panel panel2 = new Panel(); |
||||||
|
Controls.Add(panel2); |
||||||
|
panel2.Dock = DockStyle.Top; |
||||||
|
panel2.Height = searchTerm.Height + 7; |
||||||
|
panel2.Controls.Add(searchTerm); |
||||||
|
searchTerm.Dock = DockStyle.Top; |
||||||
|
searchTerm.Enabled = Help2EnvIsReady; |
||||||
|
searchTerm.TextChanged += new EventHandler(SearchTextChanged); |
||||||
|
searchTerm.KeyPress += new KeyPressEventHandler(KeyPressed); |
||||||
|
|
||||||
|
// SearchTerm Label
|
||||||
|
Controls.Add(label2); |
||||||
|
label2.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookFor}"); |
||||||
|
label2.Dock = DockStyle.Top; |
||||||
|
label2.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
label2.Enabled = Help2EnvIsReady; |
||||||
|
} |
||||||
|
|
||||||
|
private void FakeHelpControl() |
||||||
|
{ |
||||||
|
if(indexControl != null) indexControl.Dispose(); |
||||||
|
|
||||||
|
indexControl = null; |
||||||
|
Controls.Clear(); |
||||||
|
Panel nohelpPanel = new Panel(); |
||||||
|
Controls.Add(nohelpPanel); |
||||||
|
nohelpPanel.Dock = DockStyle.Fill; |
||||||
|
nohelpPanel.BorderStyle = BorderStyle.Fixed3D; |
||||||
|
} |
||||||
|
|
||||||
|
public void LoadIndex() |
||||||
|
{ |
||||||
|
try { |
||||||
|
searchTerm.Text = ""; |
||||||
|
searchTerm.Items.Clear(); |
||||||
|
|
||||||
|
indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); |
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); |
||||||
|
HtmlHelp2Environment.BuildFilterList(filterCombobox); |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void FilterChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
string selectedString = filterCombobox.SelectedItem.ToString(); |
||||||
|
|
||||||
|
if(selectedString != "") { |
||||||
|
try { |
||||||
|
Cursor.Current = Cursors.WaitCursor; |
||||||
|
indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString)); |
||||||
|
Cursor.Current = Cursors.Default; |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region Help 2.0 Environment Events
|
||||||
|
private void FilterQueryChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
indexControl.Refresh(); |
||||||
|
|
||||||
|
string currentFilterName = filterCombobox.SelectedItem.ToString(); |
||||||
|
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) { |
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); |
||||||
|
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); |
||||||
|
indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NamespaceReloaded(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.LoadIndex(); |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void SearchTextChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(!itemClicked && searchTerm.Text != "") { |
||||||
|
indexControl.Selection = indexControl.IndexData.GetSlotFromString(searchTerm.Text); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void KeyPressed(object sender, KeyPressEventArgs e) |
||||||
|
{ |
||||||
|
if(e.KeyChar == (char)13) { |
||||||
|
int indexSlot = indexControl.IndexData.GetSlotFromString(searchTerm.Text); |
||||||
|
string indexTerm = indexControl.IndexData.GetFullStringFromSlot(indexSlot, ","); |
||||||
|
|
||||||
|
searchTerm.Items.Insert(0,indexTerm); |
||||||
|
searchTerm.SelectedIndex = 0; |
||||||
|
if(searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10); |
||||||
|
|
||||||
|
this.ShowSelectedItemEntry(indexTerm, indexSlot); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void IndexItemClicked(object sender, IHxIndexViewEvents_ItemClickEvent e) |
||||||
|
{ |
||||||
|
string indexTerm = indexControl.IndexData.GetFullStringFromSlot(e.iItem, ","); |
||||||
|
int indexSlot = e.iItem; |
||||||
|
|
||||||
|
itemClicked = true; |
||||||
|
searchTerm.Items.Insert(0,indexTerm); |
||||||
|
searchTerm.SelectedIndex = 0; |
||||||
|
itemClicked = false; |
||||||
|
|
||||||
|
this.ShowSelectedItemEntry(indexTerm, indexSlot); |
||||||
|
} |
||||||
|
|
||||||
|
private void ShowSelectedItemEntry(string indexTerm, int indexSlot) |
||||||
|
{ |
||||||
|
PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad)); |
||||||
|
if(indexResults == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
try { |
||||||
|
IHxTopicList matchingTopics = indexControl.IndexData.GetTopicsFromSlot(indexSlot); |
||||||
|
|
||||||
|
try { |
||||||
|
((HtmlHelp2IndexResultsPad)indexResults.PadContent).CleanUp(); |
||||||
|
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.BeginUpdate(); |
||||||
|
|
||||||
|
for(int i = 1; i <= matchingTopics.Count; i++) { |
||||||
|
IHxTopic topic = matchingTopics.ItemAt(i); |
||||||
|
|
||||||
|
if(topic != null) { |
||||||
|
ListViewItem lvi = new ListViewItem(); |
||||||
|
lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName); |
||||||
|
lvi.SubItems.Add(topic.Location); |
||||||
|
lvi.Tag = topic; |
||||||
|
|
||||||
|
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.Items.Add(lvi); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
finally { |
||||||
|
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.EndUpdate(); |
||||||
|
((HtmlHelp2IndexResultsPad)indexResults.PadContent).SetStatusMessage(indexTerm); |
||||||
|
} |
||||||
|
|
||||||
|
switch(matchingTopics.Count) { |
||||||
|
case 0: |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
IHxTopic topic = (IHxTopic)matchingTopics.ItemAt(1); |
||||||
|
if(topic != null) ShowHelpBrowser.OpenHelpView(topic); |
||||||
|
break; |
||||||
|
default: |
||||||
|
indexResults.BringPadToFront(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,148 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Index results Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
using HtmlHelp2Service; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowIndexResultsMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad)); |
||||||
|
if(indexResults != null) indexResults.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2IndexResultsPad : AbstractPadContent |
||||||
|
{ |
||||||
|
ListView listView = new ListView(); |
||||||
|
ColumnHeader title = new ColumnHeader(); |
||||||
|
ColumnHeader location = new ColumnHeader(); |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return listView; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
this.SetListViewHeader(); |
||||||
|
} |
||||||
|
|
||||||
|
public ListView IndexResultsListView |
||||||
|
{ |
||||||
|
get { |
||||||
|
return listView; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2IndexResultsPad() |
||||||
|
{ |
||||||
|
this.SetListViewHeader(); |
||||||
|
listView.Columns.Add(title); |
||||||
|
listView.Columns.Add(location); |
||||||
|
|
||||||
|
listView.FullRowSelect = true; |
||||||
|
listView.Alignment = ListViewAlignment.Left; |
||||||
|
listView.View = View.Details; |
||||||
|
listView.Dock = DockStyle.Fill; |
||||||
|
listView.MultiSelect = false; |
||||||
|
listView.HideSelection = false; |
||||||
|
listView.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
ListViewResize(this,null); |
||||||
|
|
||||||
|
listView.Resize += new EventHandler(ListViewResize); |
||||||
|
listView.DoubleClick += new EventHandler(ListViewDoubleClick); |
||||||
|
listView.ColumnClick += new ColumnClickEventHandler(ColumnClick); |
||||||
|
listView.CreateControl(); |
||||||
|
} |
||||||
|
|
||||||
|
private void SetListViewHeader() |
||||||
|
{ |
||||||
|
title.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Title}"); |
||||||
|
location.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Location}"); |
||||||
|
} |
||||||
|
|
||||||
|
private void ListViewResize(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
int w = (listView.Width - 60) / 2; |
||||||
|
title.Width = w; |
||||||
|
location.Width = w; |
||||||
|
} |
||||||
|
|
||||||
|
private void ListViewDoubleClick(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
ListViewItem lvi = listView.SelectedItems[0]; |
||||||
|
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) { |
||||||
|
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void ColumnClick(object sender, ColumnClickEventArgs e) |
||||||
|
{ |
||||||
|
listView.ListViewItemSorter = new ListViewItemComparer(e.Column); |
||||||
|
listView.Sort(); |
||||||
|
} |
||||||
|
|
||||||
|
public void CleanUp() |
||||||
|
{ |
||||||
|
foreach(ListViewItem lvi in listView.Items) { |
||||||
|
if(lvi.Tag != null) { lvi.Tag = null; } |
||||||
|
} |
||||||
|
|
||||||
|
listView.Items.Clear(); |
||||||
|
} |
||||||
|
|
||||||
|
public void SetStatusMessage(string indexTerm) |
||||||
|
{ |
||||||
|
/* |
||||||
|
* @SharpDevelop developers: I would like to have the possibility to |
||||||
|
* change the Pad's title. It works without, but it would look |
||||||
|
* better if I could write what was searched and how many topics are |
||||||
|
* matching. |
||||||
|
*/ |
||||||
|
if(listView.Items.Count > 1) { |
||||||
|
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}", |
||||||
|
new string[,] |
||||||
|
{{"0", indexTerm}, |
||||||
|
{"1", listView.Items.Count.ToString()}, |
||||||
|
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}} |
||||||
|
); |
||||||
|
|
||||||
|
StatusBarService.SetMessage(text); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region Sorting
|
||||||
|
class ListViewItemComparer : IComparer |
||||||
|
{ |
||||||
|
private int col; |
||||||
|
|
||||||
|
public ListViewItemComparer(int column) { |
||||||
|
col = column; |
||||||
|
} |
||||||
|
|
||||||
|
public int Compare(object x, object y) { |
||||||
|
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text); |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,299 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Search Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using HtmlHelp2Service; |
||||||
|
using HtmlHelp2HelperDialog; |
||||||
|
using MSHelpServices; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowSearchMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad)); |
||||||
|
if(search != null) search.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2SearchPad : AbstractPadContent |
||||||
|
{ |
||||||
|
Panel mainPanel = new Panel(); |
||||||
|
Button searchButton = new Button(); |
||||||
|
ComboBox filterCombobox = new ComboBox(); |
||||||
|
ComboBox searchTerm = new ComboBox(); |
||||||
|
CheckBox titlesOnly = new CheckBox(); |
||||||
|
CheckBox enableStemming = new CheckBox(); |
||||||
|
CheckBox reuseMatches = new CheckBox(); |
||||||
|
CheckBox hiliteTopics = new CheckBox(); |
||||||
|
Label label1 = new Label(); |
||||||
|
Label label2 = new Label(); |
||||||
|
string selectedQuery = ""; |
||||||
|
bool searchIsBusy = false; |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return mainPanel; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
searchButton.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Search}"); |
||||||
|
titlesOnly.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.SearchInTitlesOnly}"); |
||||||
|
enableStemming.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookForSimilarWords}"); |
||||||
|
reuseMatches.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics}"); |
||||||
|
hiliteTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HighlightMatches}"); |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
label2.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookFor}"); |
||||||
|
} |
||||||
|
|
||||||
|
public bool HiliteEnabled |
||||||
|
{ |
||||||
|
get { |
||||||
|
return hiliteTopics.Checked; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2SearchPad() |
||||||
|
{ |
||||||
|
this.InitializeComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void InitializeComponents() |
||||||
|
{ |
||||||
|
// Search controls
|
||||||
|
Panel panel3 = new Panel(); |
||||||
|
mainPanel.Controls.Add(panel3); |
||||||
|
panel3.Width = 500; |
||||||
|
int pw = panel3.Width; |
||||||
|
|
||||||
|
panel3.Controls.Add(searchButton); |
||||||
|
searchButton.Enabled = false; |
||||||
|
searchButton.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Search}"); |
||||||
|
searchButton.Click += new EventHandler(SearchButtonClick); |
||||||
|
panel3.Controls.Add(titlesOnly); |
||||||
|
panel3.Controls.Add(enableStemming); |
||||||
|
panel3.Controls.Add(reuseMatches); |
||||||
|
panel3.Controls.Add(hiliteTopics); |
||||||
|
|
||||||
|
titlesOnly.Width = pw; |
||||||
|
titlesOnly.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.SearchInTitlesOnly}"); |
||||||
|
titlesOnly.Top = searchButton.Top + searchButton.Height + 10; |
||||||
|
titlesOnly.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
titlesOnly.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
enableStemming.Width = pw; |
||||||
|
enableStemming.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookForSimilarWords}"); |
||||||
|
enableStemming.Top = titlesOnly.Top + titlesOnly.Height - 4; |
||||||
|
enableStemming.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
enableStemming.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
reuseMatches.Width = pw; |
||||||
|
reuseMatches.Top = enableStemming.Top + enableStemming.Height - 4; |
||||||
|
reuseMatches.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.SearchInPreviouslyFoundTopics}"); |
||||||
|
reuseMatches.Enabled = false; |
||||||
|
reuseMatches.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
|
||||||
|
hiliteTopics.Width = pw; |
||||||
|
hiliteTopics.Top = reuseMatches.Top + reuseMatches.Height - 4; |
||||||
|
hiliteTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HighlightMatches}"); |
||||||
|
hiliteTopics.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
hiliteTopics.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
panel3.Dock = DockStyle.Fill; |
||||||
|
|
||||||
|
// Filter Combobox
|
||||||
|
Panel panel1 = new Panel(); |
||||||
|
mainPanel.Controls.Add(panel1); |
||||||
|
panel1.Dock = DockStyle.Top; |
||||||
|
panel1.Height = filterCombobox.Height + 15; |
||||||
|
panel1.Controls.Add(filterCombobox); |
||||||
|
filterCombobox.Dock = DockStyle.Top; |
||||||
|
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList; |
||||||
|
filterCombobox.Sorted = true; |
||||||
|
filterCombobox.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
|
||||||
|
if(HtmlHelp2Environment.IsReady) { |
||||||
|
HtmlHelp2Environment.BuildFilterList(filterCombobox); |
||||||
|
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged); |
||||||
|
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded); |
||||||
|
} |
||||||
|
|
||||||
|
// Filter label
|
||||||
|
mainPanel.Controls.Add(label1); |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
label1.Dock = DockStyle.Top; |
||||||
|
label1.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
label1.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
// SearchTerm Combobox
|
||||||
|
Panel panel2 = new Panel(); |
||||||
|
mainPanel.Controls.Add(panel2); |
||||||
|
panel2.Dock = DockStyle.Top; |
||||||
|
panel2.Height = searchTerm.Height + 7; |
||||||
|
panel2.Controls.Add(searchTerm); |
||||||
|
searchTerm.Dock = DockStyle.Top; |
||||||
|
searchTerm.TextChanged += new EventHandler(SearchTextChanged); |
||||||
|
searchTerm.KeyPress += new KeyPressEventHandler(KeyPressed); |
||||||
|
searchTerm.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
mainPanel.Controls.Add(label2); |
||||||
|
label2.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.LookFor}"); |
||||||
|
label2.Dock = DockStyle.Top; |
||||||
|
label2.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
label2.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
} |
||||||
|
|
||||||
|
private void FilterChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
object selectedItem = filterCombobox.SelectedItem; |
||||||
|
if(selectedItem != null) { |
||||||
|
try { |
||||||
|
selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString()); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region Help 2.0 Environment Events
|
||||||
|
private void FilterQueryChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
mainPanel.Refresh(); |
||||||
|
|
||||||
|
string currentFilterName = filterCombobox.SelectedItem.ToString(); |
||||||
|
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) { |
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); |
||||||
|
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); |
||||||
|
selectedQuery = HtmlHelp2Environment.CurrentFilterQuery; |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NamespaceReloaded(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
try { |
||||||
|
searchTerm.Text = ""; |
||||||
|
searchTerm.Items.Clear(); |
||||||
|
|
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); |
||||||
|
HtmlHelp2Environment.BuildFilterList(filterCombobox); |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void SearchButtonClick(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(searchTerm.Text != "") { |
||||||
|
this.AddTermToList(searchTerm.Text); |
||||||
|
this.PerformFTS(searchTerm.Text); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void SearchTextChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
searchButton.Enabled = (searchTerm.Text != ""); |
||||||
|
} |
||||||
|
|
||||||
|
private void KeyPressed(object sender, KeyPressEventArgs e) |
||||||
|
{ |
||||||
|
if(e.KeyChar == (char)13 && searchTerm.Text != null) { |
||||||
|
this.AddTermToList(searchTerm.Text); |
||||||
|
this.PerformFTS(searchTerm.Text); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void AddTermToList(string searchText) |
||||||
|
{ |
||||||
|
if(searchTerm.Items.IndexOf(searchText) == -1) { |
||||||
|
searchTerm.Items.Insert(0, searchText); |
||||||
|
if(searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10); |
||||||
|
searchTerm.SelectedIndex = 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region FTS
|
||||||
|
private void PerformFTS(string searchWord) |
||||||
|
{ |
||||||
|
if(!HtmlHelp2Environment.IsReady || searchIsBusy) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
PadDescriptor searchResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchResultsPad)); |
||||||
|
if(searchResults == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
try { |
||||||
|
searchIsBusy = true; |
||||||
|
|
||||||
|
HxQuery_Options searchFlags = HxQuery_Options.HxQuery_No_Option; |
||||||
|
searchFlags |= (titlesOnly.Checked)?HxQuery_Options.HxQuery_FullTextSearch_Title_Only:HxQuery_Options.HxQuery_No_Option; |
||||||
|
searchFlags |= (enableStemming.Checked)?HxQuery_Options.HxQuery_FullTextSearch_Enable_Stemming:HxQuery_Options.HxQuery_No_Option; |
||||||
|
searchFlags |= (reuseMatches.Checked)?HxQuery_Options.HxQuery_FullTextSearch_SearchPrevious:HxQuery_Options.HxQuery_No_Option; |
||||||
|
|
||||||
|
HtmlHelp2Dialog searchDialog = new HtmlHelp2Dialog(); |
||||||
|
searchDialog.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HelpSearchCaption}"); |
||||||
|
searchDialog.ActionLabel = StringParser.Parse("${res:AddIns.HtmlHelp2.HelpSearchInProgress}", |
||||||
|
new string[,] |
||||||
|
{{"0", searchWord}}); |
||||||
|
searchDialog.Show(); |
||||||
|
Application.DoEvents(); |
||||||
|
|
||||||
|
Cursor.Current = Cursors.WaitCursor; |
||||||
|
IHxTopicList matchingTopics = HtmlHelp2Environment.FTS.Query(searchWord, searchFlags); |
||||||
|
Cursor.Current = Cursors.Default; |
||||||
|
|
||||||
|
searchDialog.Dispose(); |
||||||
|
|
||||||
|
try { |
||||||
|
((HtmlHelp2SearchResultsPad)searchResults.PadContent).CleanUp(); |
||||||
|
((HtmlHelp2SearchResultsPad)searchResults.PadContent).SearchResultsListView.BeginUpdate(); |
||||||
|
|
||||||
|
for(int i = 1; i <= matchingTopics.Count; i++) { |
||||||
|
IHxTopic topic = matchingTopics.ItemAt(i); |
||||||
|
|
||||||
|
if(topic != null) { |
||||||
|
ListViewItem lvi = new ListViewItem(); |
||||||
|
lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName); |
||||||
|
lvi.SubItems.Add(topic.Location); |
||||||
|
lvi.SubItems.Add(topic.Rank.ToString()); |
||||||
|
lvi.Tag = topic; |
||||||
|
|
||||||
|
((HtmlHelp2SearchResultsPad)searchResults.PadContent).SearchResultsListView.Items.Add(lvi); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
reuseMatches.Enabled = true; |
||||||
|
} |
||||||
|
finally { |
||||||
|
((HtmlHelp2SearchResultsPad)searchResults.PadContent).SearchResultsListView.EndUpdate(); |
||||||
|
((HtmlHelp2SearchResultsPad)searchResults.PadContent).SetStatusMessage(searchTerm.Text); |
||||||
|
searchResults.BringPadToFront(); |
||||||
|
searchIsBusy = false; |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,161 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Search results Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Collections; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
using HtmlHelp2Service; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowSearchResultsMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor searchResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchResultsPad)); |
||||||
|
if(searchResults != null) searchResults.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2SearchResultsPad : AbstractPadContent |
||||||
|
{ |
||||||
|
ListView listView = new ListView(); |
||||||
|
ColumnHeader title = new ColumnHeader(); |
||||||
|
ColumnHeader location = new ColumnHeader(); |
||||||
|
ColumnHeader rank = new ColumnHeader(); |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return listView; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
this.SetListViewHeader(); |
||||||
|
} |
||||||
|
|
||||||
|
public ListView SearchResultsListView |
||||||
|
{ |
||||||
|
get { |
||||||
|
return listView; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2SearchResultsPad() |
||||||
|
{ |
||||||
|
this.SetListViewHeader(); |
||||||
|
listView.Columns.Add(title); |
||||||
|
listView.Columns.Add(location); |
||||||
|
listView.Columns.Add(rank); |
||||||
|
|
||||||
|
listView.FullRowSelect = true; |
||||||
|
listView.AutoArrange = true; |
||||||
|
listView.Enabled = HtmlHelp2Environment.IsReady; |
||||||
|
listView.Alignment = ListViewAlignment.Left; |
||||||
|
listView.View = View.Details; |
||||||
|
listView.Dock = DockStyle.Fill; |
||||||
|
ListViewResize(this,null); |
||||||
|
|
||||||
|
listView.Resize += new EventHandler(ListViewResize); |
||||||
|
listView.DoubleClick += new EventHandler(ListViewDoubleClick); |
||||||
|
listView.ColumnClick += new ColumnClickEventHandler(ColumnClick); |
||||||
|
listView.CreateControl(); |
||||||
|
} |
||||||
|
|
||||||
|
private void SetListViewHeader() |
||||||
|
{ |
||||||
|
title.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Title}"); |
||||||
|
location.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Location}"); |
||||||
|
rank.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.Rank}"); |
||||||
|
} |
||||||
|
|
||||||
|
private void ListViewResize(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
rank.Width = 80; |
||||||
|
int w = (listView.Width - rank.Width - 40) / 2; |
||||||
|
title.Width = w; |
||||||
|
location.Width = w; |
||||||
|
} |
||||||
|
|
||||||
|
private void ListViewDoubleClick(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad)); |
||||||
|
bool hiliteMatches = (search != null && ((HtmlHelp2SearchPad)search.PadContent).HiliteEnabled); |
||||||
|
|
||||||
|
ListViewItem lvi = listView.SelectedItems[0]; |
||||||
|
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) { |
||||||
|
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag, hiliteMatches); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void ColumnClick(object sender, ColumnClickEventArgs e) |
||||||
|
{ |
||||||
|
listView.ListViewItemSorter = new ListViewItemComparer(e.Column); |
||||||
|
listView.Sort(); |
||||||
|
} |
||||||
|
|
||||||
|
public void CleanUp() |
||||||
|
{ |
||||||
|
foreach(ListViewItem lvi in listView.Items) { |
||||||
|
if(lvi.Tag != null) { lvi.Tag = null; } |
||||||
|
} |
||||||
|
|
||||||
|
listView.Items.Clear(); |
||||||
|
} |
||||||
|
|
||||||
|
public void SetStatusMessage(string indexTerm) |
||||||
|
{ |
||||||
|
/* |
||||||
|
* @SharpDevelop developers: I would like to have the possibility to |
||||||
|
* change the Pad's title. It works without, but it would look |
||||||
|
* better if I could write what was searched and how many topics are |
||||||
|
* matching. |
||||||
|
*/ |
||||||
|
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfSearchResults}", |
||||||
|
new string[,] |
||||||
|
{{"0", indexTerm}, |
||||||
|
{"1", listView.Items.Count.ToString()}, |
||||||
|
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}} |
||||||
|
); |
||||||
|
|
||||||
|
StatusBarService.SetMessage(text); |
||||||
|
} |
||||||
|
|
||||||
|
#region Sorting
|
||||||
|
class ListViewItemComparer : IComparer |
||||||
|
{ |
||||||
|
private int col; |
||||||
|
|
||||||
|
public ListViewItemComparer(int column) { |
||||||
|
col = column; |
||||||
|
} |
||||||
|
|
||||||
|
public int Compare(object x, object y) { |
||||||
|
switch(col) { |
||||||
|
case 2: |
||||||
|
int a = Int32.Parse(((ListViewItem)x).SubItems[col].Text); |
||||||
|
int b = Int32.Parse(((ListViewItem)y).SubItems[col].Text); |
||||||
|
if(a > b) return 1; |
||||||
|
else if(a < b) return -1; |
||||||
|
else return 0; |
||||||
|
default: |
||||||
|
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,357 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Table of Contents Pad |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
|
||||||
|
//#define DExplore8Style_NoTOCPictures
|
||||||
|
|
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using AxMSHelpControls; |
||||||
|
using MSHelpControls; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2Service; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
|
||||||
|
|
||||||
|
public class ShowTocMenuCommand : AbstractMenuCommand |
||||||
|
{ |
||||||
|
public override void Run() |
||||||
|
{ |
||||||
|
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
if(toc != null) toc.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2TocPad : AbstractPadContent |
||||||
|
{ |
||||||
|
protected MsHelp2TocControl help2TocControl; |
||||||
|
|
||||||
|
public override Control Control |
||||||
|
{ |
||||||
|
get { |
||||||
|
return help2TocControl; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void Dispose() |
||||||
|
{ |
||||||
|
try { |
||||||
|
help2TocControl.Dispose(); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override void RedrawContent() |
||||||
|
{ |
||||||
|
help2TocControl.RedrawContent(); |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2TocPad() |
||||||
|
{ |
||||||
|
help2TocControl = new MsHelp2TocControl(); |
||||||
|
help2TocControl.LoadToc(); |
||||||
|
} |
||||||
|
|
||||||
|
public void SyncToc(string topicUrl) |
||||||
|
{ |
||||||
|
try { |
||||||
|
help2TocControl.SynToc(topicUrl); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void GetPrevFromNode() |
||||||
|
{ |
||||||
|
try { |
||||||
|
help2TocControl.GetPrevFromNode(); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void GetNextFromNode() |
||||||
|
{ |
||||||
|
try { |
||||||
|
help2TocControl.GetNextFromNode(); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsNotFirstNode |
||||||
|
{ |
||||||
|
get { |
||||||
|
return help2TocControl.IsNotFirstNode; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsNotLastNode |
||||||
|
{ |
||||||
|
get { |
||||||
|
return help2TocControl.IsNotLastNode; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class MsHelp2TocControl : UserControl |
||||||
|
{ |
||||||
|
AxHxTocCtrl tocControl = null; |
||||||
|
ComboBox filterCombobox = new ComboBox(); |
||||||
|
Label label1 = new Label(); |
||||||
|
ContextMenuStrip printPopup = new ContextMenuStrip(); |
||||||
|
ToolStripMenuItem printTopic = new ToolStripMenuItem(); |
||||||
|
ToolStripMenuItem printChildTopics = new ToolStripMenuItem(); |
||||||
|
|
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
base.Dispose(disposing); |
||||||
|
|
||||||
|
if(disposing && tocControl != null) { |
||||||
|
tocControl.Dispose(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void RedrawContent() |
||||||
|
{ |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
} |
||||||
|
|
||||||
|
public MsHelp2TocControl() |
||||||
|
{ |
||||||
|
bool Help2EnvIsReady = (HtmlHelp2Environment.IsReady && Help2ControlsValidation.IsTocControlRegistered); |
||||||
|
|
||||||
|
if(Help2EnvIsReady) { |
||||||
|
try { |
||||||
|
tocControl = new AxHxTocCtrl(); |
||||||
|
tocControl.BeginInit(); |
||||||
|
tocControl.Dock = DockStyle.Fill; |
||||||
|
tocControl.NodeClick += new AxMSHelpControls.IHxTreeViewEvents_NodeClickEventHandler(this.TocNodeClicked); |
||||||
|
tocControl.NodeRightClick += new AxMSHelpControls.IHxTreeViewEvents_NodeRightClickEventHandler(this.TocNodeRightClicked); |
||||||
|
tocControl.EndInit(); |
||||||
|
Controls.Add(tocControl); |
||||||
|
tocControl.CreateControl(); |
||||||
|
tocControl.BorderStyle = HxBorderStyle.HxBorderStyle_FixedSingle; |
||||||
|
tocControl.FontSource = HxFontSourceConstant.HxFontExternal; |
||||||
|
#if DExplore8Style_NoTOCPictures
|
||||||
|
tocControl.TreeStyle = HxTreeStyleConstant.HxTreeStyle_TreelinesPlusMinusText; |
||||||
|
#endif
|
||||||
|
|
||||||
|
printTopic.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.PrintTopic}"); |
||||||
|
printChildTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.PrintSubtopics}"); |
||||||
|
printPopup.Items.Add(printTopic); |
||||||
|
printTopic.Click += new EventHandler(this.PrintTopic); |
||||||
|
printPopup.Items.Add(printChildTopics); |
||||||
|
printChildTopics.Click += new EventHandler(this.PrintTopicAndSubtopics); |
||||||
|
} |
||||||
|
catch { |
||||||
|
this.FakeHelpControl(); |
||||||
|
} |
||||||
|
} |
||||||
|
else { |
||||||
|
this.FakeHelpControl(); |
||||||
|
} |
||||||
|
|
||||||
|
// Combobox panel
|
||||||
|
Panel panel1 = new Panel(); |
||||||
|
Controls.Add(panel1); |
||||||
|
panel1.Dock = DockStyle.Top; |
||||||
|
panel1.Height = filterCombobox.Height + 7; |
||||||
|
panel1.Controls.Add(filterCombobox); |
||||||
|
filterCombobox.Dock = DockStyle.Top; |
||||||
|
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList; |
||||||
|
filterCombobox.Sorted = true; |
||||||
|
filterCombobox.Enabled = Help2EnvIsReady; |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); |
||||||
|
|
||||||
|
// Filter label
|
||||||
|
Controls.Add(label1); |
||||||
|
label1.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.FilteredBy}"); |
||||||
|
label1.Dock = DockStyle.Top; |
||||||
|
label1.TextAlign = ContentAlignment.MiddleLeft; |
||||||
|
label1.Enabled = Help2EnvIsReady; |
||||||
|
|
||||||
|
if(Help2EnvIsReady) { |
||||||
|
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(this.FilterQueryChanged); |
||||||
|
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void FakeHelpControl() |
||||||
|
{ |
||||||
|
tocControl = null; |
||||||
|
Panel nohelpPanel = new Panel(); |
||||||
|
Controls.Add(nohelpPanel); |
||||||
|
nohelpPanel.Dock = DockStyle.Fill; |
||||||
|
nohelpPanel.BorderStyle = BorderStyle.Fixed3D; |
||||||
|
} |
||||||
|
|
||||||
|
public void LoadToc() |
||||||
|
{ |
||||||
|
try { |
||||||
|
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); |
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); |
||||||
|
HtmlHelp2Environment.BuildFilterList(filterCombobox); |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void FilterChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
string selectedString = filterCombobox.SelectedItem.ToString(); |
||||||
|
|
||||||
|
if(selectedString != null && selectedString != "") { |
||||||
|
try { |
||||||
|
Cursor.Current = Cursors.WaitCursor; |
||||||
|
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString)); |
||||||
|
Cursor.Current = Cursors.Default; |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#region Help 2.0 Environment Events
|
||||||
|
private void FilterQueryChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
tocControl.Refresh(); |
||||||
|
|
||||||
|
string currentFilterName = filterCombobox.SelectedItem.ToString(); |
||||||
|
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) { |
||||||
|
filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); |
||||||
|
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); |
||||||
|
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); |
||||||
|
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NamespaceReloaded(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.LoadToc(); |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void CallHelp(string topicUrl, bool syncToc) |
||||||
|
{ |
||||||
|
if(topicUrl != null && topicUrl != "") { |
||||||
|
if(syncToc) this.SynToc(topicUrl); |
||||||
|
ShowHelpBrowser.OpenHelpView(topicUrl); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void TocNodeClicked(object sender, IHxTreeViewEvents_NodeClickEvent e) |
||||||
|
{ |
||||||
|
string TopicUrl = tocControl.Hierarchy.GetURL(e.hNode); |
||||||
|
this.CallHelp(TopicUrl,false); |
||||||
|
} |
||||||
|
|
||||||
|
#region Printing
|
||||||
|
private void TocNodeRightClicked(object sender, IHxTreeViewEvents_NodeRightClickEvent e) |
||||||
|
{ |
||||||
|
if(e.hNode != 0) { |
||||||
|
printTopic.Enabled = tocControl.Hierarchy.GetURL(e.hNode) != ""; |
||||||
|
printChildTopics.Enabled = tocControl.Hierarchy.GetFirstChild(e.hNode) != 0; |
||||||
|
printChildTopics.Text = StringParser.Parse((tocControl.Hierarchy.GetFirstChild(e.hNode) == 0 || tocControl.Hierarchy.GetURL(e.hNode) == "")? |
||||||
|
"${res:AddIns.HtmlHelp2.PrintSubtopics}": |
||||||
|
"${res:AddIns.HtmlHelp2.PrintTopicAndSubtopics}"); |
||||||
|
|
||||||
|
Point p = new Point(e.x, e.y); |
||||||
|
p = this.PointToClient(p); |
||||||
|
printPopup.Show(this, p); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void PrintTopic(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(tocControl.Selection != 0) { |
||||||
|
tocControl.Hierarchy.PrintNode(0, |
||||||
|
tocControl.Selection, |
||||||
|
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Node); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void PrintTopicAndSubtopics(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(tocControl.Selection != 0) { |
||||||
|
tocControl.Hierarchy.PrintNode(0, |
||||||
|
tocControl.Selection, |
||||||
|
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Children); |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region published Help2 TOC Commands
|
||||||
|
public void SynToc(string topicUrl) |
||||||
|
{ |
||||||
|
try { |
||||||
|
tocControl.Synchronize(topicUrl); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void GetNextFromNode() |
||||||
|
{ |
||||||
|
try { |
||||||
|
int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection); |
||||||
|
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); |
||||||
|
this.CallHelp(TopicUrl,true); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void GetPrevFromNode() |
||||||
|
{ |
||||||
|
try { |
||||||
|
int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection); |
||||||
|
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); |
||||||
|
this.CallHelp(TopicUrl,true); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsNotFirstNode |
||||||
|
{ |
||||||
|
get { |
||||||
|
try { |
||||||
|
int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection); |
||||||
|
return currentNode != 0; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsNotLastNode |
||||||
|
{ |
||||||
|
get { |
||||||
|
try { |
||||||
|
int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection); |
||||||
|
return currentNode != 0; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,376 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Browser Control |
||||||
|
* Based on "HtmlViewPane.cs" by Mike Krueger |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
|
||||||
|
//#define ChangeTopics_BringPadToFront
|
||||||
|
|
||||||
|
namespace HtmlHelp2Browser |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Drawing; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using ICSharpCode.SharpDevelop.BrowserDisplayBinding; |
||||||
|
using HtmlHelp2; |
||||||
|
using HtmlHelp2Service; |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2BrowserPane : AbstractViewContent |
||||||
|
{ |
||||||
|
protected HtmlHelp2BrowserControl help2Browser; |
||||||
|
|
||||||
|
public override Control Control { |
||||||
|
get { |
||||||
|
return help2Browser; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsDirty { |
||||||
|
get { |
||||||
|
return false; |
||||||
|
} |
||||||
|
set { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsViewOnly { |
||||||
|
get { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2BrowserPane(string fileName) |
||||||
|
{ |
||||||
|
help2Browser = new HtmlHelp2BrowserControl(); |
||||||
|
help2Browser.AxWebBrowser.DocumentTitleChanged += new EventHandler(TitleChanged); |
||||||
|
if(fileName != null) this.Load(fileName); |
||||||
|
else this.Load("about:blank"); |
||||||
|
} |
||||||
|
|
||||||
|
public override void Load(string url) |
||||||
|
{ |
||||||
|
help2Browser.Navigate(url); |
||||||
|
this.FileName = url; |
||||||
|
} |
||||||
|
|
||||||
|
public override void Save(string url) |
||||||
|
{ |
||||||
|
Load(url); |
||||||
|
} |
||||||
|
|
||||||
|
void TitleChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.TitleName = help2Browser.AxWebBrowser.DocumentTitle; |
||||||
|
this.FileName = help2Browser.AxWebBrowser.Url.ToString(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public class HtmlHelp2BrowserControl : UserControl |
||||||
|
{ |
||||||
|
ExtendedWebBrowser axWebBrowser = null; |
||||||
|
ToolStripButton goBack = new ToolStripButton(); |
||||||
|
ToolStripButton goForward = new ToolStripButton(); |
||||||
|
ToolStripButton stopSite = new ToolStripButton(); |
||||||
|
ToolStripButton refreshSite = new ToolStripButton(); |
||||||
|
ToolStripButton homePage = new ToolStripButton(); |
||||||
|
ToolStripButton searchPage = new ToolStripButton(); |
||||||
|
ToolStripButton addToFavorites = new ToolStripButton(); |
||||||
|
ToolStripComboBox urlTextbox = new ToolStripComboBox(); |
||||||
|
ToolStripButton newWindow = new ToolStripButton(); |
||||||
|
ToolStripButton syncToc = new ToolStripButton(); |
||||||
|
ToolStripButton prevTocTopic = new ToolStripButton(); |
||||||
|
ToolStripButton nextTocTopic = new ToolStripButton(); |
||||||
|
// int zoomFactor = 2;
|
||||||
|
|
||||||
|
|
||||||
|
public WebBrowser AxWebBrowser |
||||||
|
{ |
||||||
|
get { |
||||||
|
return axWebBrowser; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2BrowserControl() |
||||||
|
{ |
||||||
|
Size = new Size(800, 800); |
||||||
|
Dock = DockStyle.Fill; |
||||||
|
|
||||||
|
axWebBrowser = new ExtendedWebBrowser(); |
||||||
|
axWebBrowser.Dock = DockStyle.Fill; |
||||||
|
axWebBrowser.StatusTextChanged += new EventHandler(this.StatusTextChanged); |
||||||
|
axWebBrowser.Navigating += new WebBrowserNavigatingEventHandler(this.BeforeNavigating); |
||||||
|
axWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(this.DocumentCompleted); |
||||||
|
axWebBrowser.NewWindowExtended += new NewWindowExtendedEventHandler(this.NewBrowserWindow); |
||||||
|
Controls.Add(axWebBrowser); |
||||||
|
|
||||||
|
ToolStrip toolStrip = new ToolStrip(); |
||||||
|
toolStrip.Dock = DockStyle.Top; |
||||||
|
toolStrip.AllowItemReorder = false; |
||||||
|
Controls.Add(toolStrip); |
||||||
|
toolStrip.Items.Add(goBack); |
||||||
|
goBack.Click += new EventHandler(this.GoBack); |
||||||
|
goBack.Enabled = false; |
||||||
|
goBack.ImageIndex = 0; |
||||||
|
toolStrip.Items.Add(goForward); |
||||||
|
goForward.Click += new EventHandler(this.GoForward); |
||||||
|
goForward.Enabled = false; |
||||||
|
goForward.ImageIndex = 1; |
||||||
|
toolStrip.Items.Add(stopSite); |
||||||
|
stopSite.Click += new EventHandler(this.StopPageLoading); |
||||||
|
stopSite.Enabled = false; |
||||||
|
stopSite.ImageIndex = 2; |
||||||
|
toolStrip.Items.Add(refreshSite); |
||||||
|
refreshSite.Click += new EventHandler(this.RefreshPage); |
||||||
|
refreshSite.ImageIndex = 3; |
||||||
|
toolStrip.Items.Add(homePage); |
||||||
|
homePage.Click += new EventHandler(this.CallHomepage); |
||||||
|
homePage.ImageIndex = 4; |
||||||
|
toolStrip.Items.Add(new ToolStripSeparator()); |
||||||
|
toolStrip.Items.Add(searchPage); |
||||||
|
searchPage.Click += new EventHandler(this.CallSearchpage); |
||||||
|
searchPage.ImageIndex = 5; |
||||||
|
toolStrip.Items.Add(addToFavorites); |
||||||
|
addToFavorites.Click += new EventHandler(this.AddToHelpFavorites); |
||||||
|
addToFavorites.Enabled = false; |
||||||
|
addToFavorites.ImageIndex = 6; |
||||||
|
toolStrip.Items.Add(new ToolStripSeparator()); |
||||||
|
toolStrip.Items.Add(urlTextbox); |
||||||
|
urlTextbox.AutoCompleteMode = AutoCompleteMode.Suggest; |
||||||
|
urlTextbox.AutoCompleteSource = AutoCompleteSource.HistoryList; |
||||||
|
urlTextbox.DropDownWidth = 300; |
||||||
|
urlTextbox.Size = new Size(300, toolStrip.Items[0].Height); |
||||||
|
urlTextbox.KeyDown += new KeyEventHandler(this.UrlTextboxKeyDown); |
||||||
|
urlTextbox.SelectedIndexChanged += new EventHandler(this.UrlTextboxSelectedIndexChanged); |
||||||
|
toolStrip.Items.Add(new ToolStripSeparator()); |
||||||
|
toolStrip.Items.Add(newWindow); |
||||||
|
newWindow.Click += new EventHandler(this.NewHelpWindow); |
||||||
|
newWindow.ImageIndex = 7; |
||||||
|
toolStrip.Items.Add(syncToc); |
||||||
|
syncToc.Click += new EventHandler(this.SyncToc); |
||||||
|
syncToc.Enabled = false; |
||||||
|
syncToc.ImageIndex = 8; |
||||||
|
toolStrip.Items.Add(new ToolStripSeparator()); |
||||||
|
toolStrip.Items.Add(prevTocTopic); |
||||||
|
prevTocTopic.Click += new EventHandler(this.PreviousTocTopic); |
||||||
|
prevTocTopic.Enabled = false; |
||||||
|
prevTocTopic.ImageIndex = 9; |
||||||
|
toolStrip.Items.Add(nextTocTopic); |
||||||
|
nextTocTopic.Click += new EventHandler(this.NextTocTopic); |
||||||
|
nextTocTopic.Enabled = false; |
||||||
|
nextTocTopic.ImageIndex = 10; |
||||||
|
|
||||||
|
// TODO: name those buttons :o)
|
||||||
|
|
||||||
|
toolStrip.ImageList = new ImageList(); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Back.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Forward.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Stop.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Refresh.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Home.gif")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.SearchSite.gif")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.AddToFavorites.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.NewWindow.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.SyncToc.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.PrevTopic.png")); |
||||||
|
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.NextTopic.png")); |
||||||
|
} |
||||||
|
|
||||||
|
#region WebBrowser Events
|
||||||
|
private void StatusTextChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
StatusBarService.SetMessage(axWebBrowser.StatusText); |
||||||
|
} |
||||||
|
|
||||||
|
private void BeforeNavigating(object sender, WebBrowserNavigatingEventArgs e) |
||||||
|
{ |
||||||
|
stopSite.Enabled = true; |
||||||
|
} |
||||||
|
|
||||||
|
private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) |
||||||
|
{ |
||||||
|
// try {
|
||||||
|
// object arg = System.Reflection.Missing.Value;
|
||||||
|
// object dummy = 0;
|
||||||
|
//
|
||||||
|
// axWebBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_ZOOM,
|
||||||
|
// SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,
|
||||||
|
// ref arg,
|
||||||
|
// ref dummy);
|
||||||
|
//
|
||||||
|
// zoomFactor = (int)dummy;
|
||||||
|
// }
|
||||||
|
// catch {
|
||||||
|
// }
|
||||||
|
|
||||||
|
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
|
||||||
|
// update URL textbox
|
||||||
|
string currentUrl = e.Url.ToString(); |
||||||
|
urlTextbox.Text = currentUrl; |
||||||
|
|
||||||
|
// update toolbar
|
||||||
|
goBack.Enabled = axWebBrowser.CanGoBack; |
||||||
|
goForward.Enabled = axWebBrowser.CanGoForward; |
||||||
|
stopSite.Enabled = false; |
||||||
|
addToFavorites.Enabled = currentUrl.StartsWith("ms-help://"); |
||||||
|
syncToc.Enabled = addToFavorites.Enabled; |
||||||
|
|
||||||
|
prevTocTopic.Enabled = (toc == null || ((HtmlHelp2TocPad)toc.PadContent).IsNotFirstNode); |
||||||
|
nextTocTopic.Enabled = (toc == null || ((HtmlHelp2TocPad)toc.PadContent).IsNotLastNode); |
||||||
|
|
||||||
|
// hilite (full-text search only!)
|
||||||
|
ShowHelpBrowser.HighlightDocument(); |
||||||
|
} |
||||||
|
|
||||||
|
private void NewBrowserWindow(object sender, NewWindowExtendedEventArgs e) |
||||||
|
{ |
||||||
|
HtmlHelp2BrowserPane help2Browser = new HtmlHelp2BrowserPane(""); |
||||||
|
WorkbenchSingleton.Workbench.ShowView(help2Browser); |
||||||
|
help2Browser.WorkbenchWindow.SelectWindow(); |
||||||
|
ExtendedWebBrowser newBrowser = (ExtendedWebBrowser)((HtmlHelp2BrowserControl)help2Browser.Control).AxWebBrowser; |
||||||
|
newBrowser.Navigate(e.Url); |
||||||
|
e.Cancel = true; |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Toolbar Command
|
||||||
|
public void Navigate(string url) |
||||||
|
{ |
||||||
|
this.AddTermToList(url); |
||||||
|
axWebBrowser.Navigate(url); |
||||||
|
} |
||||||
|
|
||||||
|
private void GoBack(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(axWebBrowser.CanGoBack) axWebBrowser.GoBack(); |
||||||
|
} |
||||||
|
|
||||||
|
private void GoForward(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(axWebBrowser.CanGoForward) axWebBrowser.GoForward(); |
||||||
|
} |
||||||
|
|
||||||
|
private void StopPageLoading(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
axWebBrowser.Stop(); |
||||||
|
} |
||||||
|
|
||||||
|
private void RefreshPage(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
axWebBrowser.Refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
private void CallHomepage(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.Navigate(HtmlHelp2Environment.DefaultPage); |
||||||
|
} |
||||||
|
|
||||||
|
private void CallSearchpage(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.Navigate(HtmlHelp2Environment.SearchPage); |
||||||
|
} |
||||||
|
|
||||||
|
private void AddToHelpFavorites(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
PadDescriptor favorites = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2FavoritesPad)); |
||||||
|
if(favorites != null) { |
||||||
|
((HtmlHelp2FavoritesPad)favorites.PadContent).AddToFavorites(axWebBrowser.DocumentTitle, axWebBrowser.Url.ToString()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NewHelpWindow(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(axWebBrowser.Url != null) { |
||||||
|
HtmlHelp2BrowserPane newPage = ShowHelpBrowser.CreateNewHelp2BrowserView(); |
||||||
|
newPage.Load(axWebBrowser.Url.ToString()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void SyncToc(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(axWebBrowser.Url != null) { |
||||||
|
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
if(toc != null) { |
||||||
|
((HtmlHelp2TocPad)toc.PadContent).SyncToc(axWebBrowser.Url.ToString()); |
||||||
|
toc.BringPadToFront(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void PreviousTocTopic(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
if(toc != null) { |
||||||
|
((HtmlHelp2TocPad)toc.PadContent).GetPrevFromNode(); |
||||||
|
#if ChangeTopics_BringPadToFront
|
||||||
|
((HtmlHelp2TocPad)toc.PadContent).BringPadToFront(); |
||||||
|
#endif
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NextTocTopic(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); |
||||||
|
if(toc != null) { |
||||||
|
((HtmlHelp2TocPad)toc.PadContent).GetNextFromNode(); |
||||||
|
#if ChangeTopics_BringPadToFront
|
||||||
|
((HtmlHelp2TocPad)toc.PadContent).BringPadToFront(); |
||||||
|
#endif
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// public void ZoomText()
|
||||||
|
// {
|
||||||
|
//// try {
|
||||||
|
//// zoomFactor = (zoomFactor == 4)?0:zoomFactor+1;
|
||||||
|
//// object zoomArg = zoomFactor;
|
||||||
|
//// object dummy = System.Reflection.Missing.Value;
|
||||||
|
////
|
||||||
|
//// axWebBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_ZOOM,
|
||||||
|
//// SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,
|
||||||
|
//// ref zoomArg,
|
||||||
|
//// ref dummy);
|
||||||
|
//// }
|
||||||
|
//// catch {
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region UrlTextbox
|
||||||
|
private void UrlTextboxKeyDown(object sender, KeyEventArgs e) |
||||||
|
{ |
||||||
|
if(e.KeyCode == Keys.Enter && urlTextbox.Text != "") { |
||||||
|
this.AddTermToList(urlTextbox.Text); |
||||||
|
this.Navigate(urlTextbox.Text); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void UrlTextboxSelectedIndexChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
string selectedUrl = urlTextbox.SelectedItem.ToString(); |
||||||
|
if(selectedUrl != "") { |
||||||
|
this.Navigate(selectedUrl); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void AddTermToList(string searchText) |
||||||
|
{ |
||||||
|
if(searchText == "") return; |
||||||
|
|
||||||
|
if(urlTextbox.Items.IndexOf(searchText) == -1) { |
||||||
|
urlTextbox.Items.Insert(0, searchText); |
||||||
|
if(urlTextbox.Items.Count > 10) urlTextbox.Items.RemoveAt(10); |
||||||
|
urlTextbox.SelectedIndex = 0; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,98 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* ShowHelpBrowser Class |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* With a big "Thank you" to Robert_G (Delphi-PRAXiS) |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2 |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2Browser; |
||||||
|
|
||||||
|
|
||||||
|
public sealed class ShowHelpBrowser |
||||||
|
{ |
||||||
|
static bool hiliteMatches = false; |
||||||
|
static IHxTopic lastTopic = null; |
||||||
|
|
||||||
|
public static void OpenHelpView(IHxTopic topic) |
||||||
|
{ |
||||||
|
OpenHelpView(topic.URL, null, false); |
||||||
|
} |
||||||
|
|
||||||
|
public static void OpenHelpView(IHxTopic topic, bool hiliteMatchingWords) |
||||||
|
{ |
||||||
|
OpenHelpView(topic.URL, topic, hiliteMatchingWords); |
||||||
|
} |
||||||
|
|
||||||
|
public static void OpenHelpView(string topicUrl) |
||||||
|
{ |
||||||
|
OpenHelpView(topicUrl, null, false); |
||||||
|
} |
||||||
|
|
||||||
|
public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords) |
||||||
|
{ |
||||||
|
hiliteMatches = hiliteMatchingWords; |
||||||
|
lastTopic = topic; |
||||||
|
HtmlHelp2BrowserPane help2Browser = GetActiveHelp2BrowserView(); |
||||||
|
|
||||||
|
if(help2Browser != null) { |
||||||
|
help2Browser.Load(topicUrl); |
||||||
|
help2Browser.WorkbenchWindow.SelectWindow(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static HtmlHelp2BrowserPane GetActiveHelp2BrowserView() |
||||||
|
{ |
||||||
|
HtmlHelp2BrowserPane tempPane = null; |
||||||
|
|
||||||
|
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; |
||||||
|
if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane) { |
||||||
|
tempPane = (HtmlHelp2BrowserPane)window.ActiveViewContent; |
||||||
|
return tempPane; |
||||||
|
} |
||||||
|
|
||||||
|
foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) { |
||||||
|
if(view is HtmlHelp2BrowserPane) { |
||||||
|
tempPane = (HtmlHelp2BrowserPane)view; |
||||||
|
return tempPane; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
tempPane = CreateNewHelp2BrowserView(); |
||||||
|
return tempPane; |
||||||
|
} |
||||||
|
|
||||||
|
public static HtmlHelp2BrowserPane CreateNewHelp2BrowserView() |
||||||
|
{ |
||||||
|
HtmlHelp2BrowserPane tempPane = new HtmlHelp2BrowserPane(""); |
||||||
|
WorkbenchSingleton.Workbench.ShowView(tempPane); |
||||||
|
return tempPane; |
||||||
|
} |
||||||
|
|
||||||
|
public static void HighlightDocument() |
||||||
|
{ |
||||||
|
if(hiliteMatches && lastTopic != null) { |
||||||
|
try { |
||||||
|
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; |
||||||
|
if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane) { |
||||||
|
HtmlHelp2BrowserPane help2Browser = (HtmlHelp2BrowserPane)window.ActiveViewContent; |
||||||
|
HtmlHelp2BrowserControl browserControl = (HtmlHelp2BrowserControl)help2Browser.Control; |
||||||
|
lastTopic.HighlightDocument(browserControl.AxWebBrowser.Document); |
||||||
|
} |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
ShowHelpBrowser() |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,764 @@ |
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:2.0.50215.44
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
namespace AxMSHelpControls |
||||||
|
{ |
||||||
|
[System.Windows.Forms.AxHost.ClsidAttribute("{314111b8-a502-11d2-bbca-00c04f8ec294}")] |
||||||
|
[System.ComponentModel.DesignTimeVisibleAttribute(true)] |
||||||
|
public class AxHxTocCtrl : System.Windows.Forms.AxHost { |
||||||
|
|
||||||
|
private MSHelpControls.IHxTreeView ocx; |
||||||
|
|
||||||
|
private AxHxTocCtrlEventMulticaster eventMulticaster; |
||||||
|
|
||||||
|
private System.Windows.Forms.AxHost.ConnectionPointCookie cookie; |
||||||
|
|
||||||
|
public AxHxTocCtrl() : base("314111b8-a502-11d2-bbca-00c04f8ec294") |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(false)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4096)] |
||||||
|
public virtual MSHelpServices.IHxHierarchy Hierarchy { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Hierarchy", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Hierarchy; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Hierarchy", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Hierarchy = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4100)] |
||||||
|
public virtual int ImageList { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ImageList", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.ImageList; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ImageList", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.ImageList = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4097)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual bool HideSelection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HideSelection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.HideSelection; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HideSelection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HideSelection = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4098)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxTreeLineStyleConstant LineStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LineStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LineStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LineStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LineStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4099)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxTreeStyleConstant TreeStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TreeStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.TreeStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TreeStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.TreeStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-501)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Color BackColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.BackColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.BackColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.BackColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.BackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-513)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Color ForeColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.ForeColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.ForeColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.ForeColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.ForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-504)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxBorderStyle BorderStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.BorderStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.BorderStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-520)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxAppearanceConstant Appearance { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Appearance; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Appearance = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-521)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxMousePointerConstant MousePointer { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.MousePointer; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.MousePointer = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-512)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("stdole.StdFont")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Font Font { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetFontFromIFont(this.ocx.Font); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.Font; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.Font = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.Font = ((stdole.StdFont)(GetIFontFromFont(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4102)] |
||||||
|
public virtual int Selection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Selection; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4103)] |
||||||
|
public virtual short LangId { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LangId; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LangId = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4104)] |
||||||
|
public virtual MSHelpControls.HxFontSourceConstant FontSource { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.FontSource; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FontSource = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public event IHxTreeViewEvents_NodeClickEventHandler NodeClick; |
||||||
|
|
||||||
|
public event IHxTreeViewEvents_NodeRightClickEventHandler NodeRightClick; |
||||||
|
|
||||||
|
public override void Refresh() { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void Synchronize(string bstrURL) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Synchronize", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Synchronize(bstrURL); |
||||||
|
} |
||||||
|
|
||||||
|
protected override void CreateSink() { |
||||||
|
try { |
||||||
|
this.eventMulticaster = new AxHxTocCtrlEventMulticaster(this); |
||||||
|
this.cookie = new System.Windows.Forms.AxHost.ConnectionPointCookie(this.ocx, this.eventMulticaster, typeof(MSHelpControls.IHxTreeViewEvents)); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void DetachSink() { |
||||||
|
try { |
||||||
|
this.cookie.Disconnect(); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void AttachInterfaces() { |
||||||
|
try { |
||||||
|
this.ocx = ((MSHelpControls.IHxTreeView)(this.GetOcx())); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnNodeClick(object sender, IHxTreeViewEvents_NodeClickEvent e) { |
||||||
|
if ((this.NodeClick != null)) { |
||||||
|
this.NodeClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnNodeRightClick(object sender, IHxTreeViewEvents_NodeRightClickEvent e) { |
||||||
|
if ((this.NodeRightClick != null)) { |
||||||
|
this.NodeRightClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxTreeViewEvents_NodeClickEventHandler(object sender, IHxTreeViewEvents_NodeClickEvent e); |
||||||
|
|
||||||
|
public class IHxTreeViewEvents_NodeClickEvent { |
||||||
|
|
||||||
|
public int hNode; |
||||||
|
|
||||||
|
public IHxTreeViewEvents_NodeClickEvent(int hNode) { |
||||||
|
this.hNode = hNode; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxTreeViewEvents_NodeRightClickEventHandler(object sender, IHxTreeViewEvents_NodeRightClickEvent e); |
||||||
|
|
||||||
|
public class IHxTreeViewEvents_NodeRightClickEvent { |
||||||
|
|
||||||
|
public int hNode; |
||||||
|
|
||||||
|
public int x; |
||||||
|
|
||||||
|
public int y; |
||||||
|
|
||||||
|
public IHxTreeViewEvents_NodeRightClickEvent(int hNode, int x, int y) { |
||||||
|
this.hNode = hNode; |
||||||
|
this.x = x; |
||||||
|
this.y = y; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)] |
||||||
|
public class AxHxTocCtrlEventMulticaster : MSHelpControls.IHxTreeViewEvents { |
||||||
|
|
||||||
|
private AxHxTocCtrl parent; |
||||||
|
|
||||||
|
public AxHxTocCtrlEventMulticaster(AxHxTocCtrl parent) { |
||||||
|
this.parent = parent; |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void NodeClick(int hNode) { |
||||||
|
IHxTreeViewEvents_NodeClickEvent nodeclickEvent = new IHxTreeViewEvents_NodeClickEvent(hNode); |
||||||
|
this.parent.RaiseOnNodeClick(this.parent, nodeclickEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void NodeRightClick(int hNode, int x, int y) { |
||||||
|
IHxTreeViewEvents_NodeRightClickEvent noderightclickEvent = new IHxTreeViewEvents_NodeRightClickEvent(hNode, x, y); |
||||||
|
this.parent.RaiseOnNodeRightClick(this.parent, noderightclickEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Windows.Forms.AxHost.ClsidAttribute("{314111c6-a502-11d2-bbca-00c04f8ec294}")] |
||||||
|
[System.ComponentModel.DesignTimeVisibleAttribute(true)] |
||||||
|
public class AxHxIndexCtrl : System.Windows.Forms.AxHost { |
||||||
|
|
||||||
|
private MSHelpControls.IHxIndexView ocx; |
||||||
|
|
||||||
|
private AxHxIndexCtrlEventMulticaster eventMulticaster; |
||||||
|
|
||||||
|
private System.Windows.Forms.AxHost.ConnectionPointCookie cookie; |
||||||
|
|
||||||
|
public AxHxIndexCtrl() : |
||||||
|
base("314111c6-a502-11d2-bbca-00c04f8ec294") { |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(false)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16384)] |
||||||
|
public virtual MSHelpServices.IHxIndex IndexData { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("IndexData", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.IndexData; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("IndexData", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.IndexData = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16385)] |
||||||
|
public virtual int Selection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Selection; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Selection = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-501)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public override System.Drawing.Color BackColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.BackColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.BackColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.BackColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.BackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-513)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public override System.Drawing.Color ForeColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.ForeColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.ForeColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.ForeColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.ForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-504)] |
||||||
|
public virtual MSHelpControls.HxBorderStyle BorderStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.BorderStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.BorderStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-520)] |
||||||
|
public virtual MSHelpControls.HxAppearanceConstant Appearance { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Appearance; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Appearance = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-521)] |
||||||
|
public virtual MSHelpControls.HxMousePointerConstant MousePointer { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.MousePointer; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.MousePointer = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-512)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("stdole.StdFont")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Font Font { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetFontFromIFont(this.ocx.Font); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.Font; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.Font = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.Font = ((stdole.StdFont)(GetIFontFromFont(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16388)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color HighlightForeColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.HighlightForeColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HighlightForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16389)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color HighlightBackColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.HighlightBackColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HighlightBackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16390)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color FocusHighlightForeColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.FocusHighlightForeColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FocusHighlightForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16391)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color FocusHighlightBackColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.FocusHighlightBackColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FocusHighlightBackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16392)] |
||||||
|
public virtual short LangId { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LangId; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LangId = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16393)] |
||||||
|
public virtual MSHelpControls.HxFontSourceConstant FontSource { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.FontSource; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FontSource = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public event IHxIndexViewEvents_ItemClickEventHandler ItemClick; |
||||||
|
|
||||||
|
public event IHxIndexViewEvents_ItemSelectEventHandler ItemSelect; |
||||||
|
|
||||||
|
public virtual void SelectItem(int iItem) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("SelectItem", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.SelectItem(iItem); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ClickItem(int iItem) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ClickItem", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.ClickItem(iItem); |
||||||
|
} |
||||||
|
|
||||||
|
public override void Refresh() { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
protected override void CreateSink() { |
||||||
|
try { |
||||||
|
this.eventMulticaster = new AxHxIndexCtrlEventMulticaster(this); |
||||||
|
this.cookie = new System.Windows.Forms.AxHost.ConnectionPointCookie(this.ocx, this.eventMulticaster, typeof(MSHelpControls.IHxIndexViewEvents)); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void DetachSink() { |
||||||
|
try { |
||||||
|
this.cookie.Disconnect(); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void AttachInterfaces() { |
||||||
|
try { |
||||||
|
this.ocx = ((MSHelpControls.IHxIndexView)(this.GetOcx())); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnItemClick(object sender, IHxIndexViewEvents_ItemClickEvent e) { |
||||||
|
if ((this.ItemClick != null)) { |
||||||
|
this.ItemClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnItemSelect(object sender, IHxIndexViewEvents_ItemSelectEvent e) { |
||||||
|
if ((this.ItemSelect != null)) { |
||||||
|
this.ItemSelect(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxIndexViewEvents_ItemClickEventHandler(object sender, IHxIndexViewEvents_ItemClickEvent e); |
||||||
|
|
||||||
|
public class IHxIndexViewEvents_ItemClickEvent { |
||||||
|
|
||||||
|
public int iItem; |
||||||
|
|
||||||
|
public IHxIndexViewEvents_ItemClickEvent(int iItem) { |
||||||
|
this.iItem = iItem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxIndexViewEvents_ItemSelectEventHandler(object sender, IHxIndexViewEvents_ItemSelectEvent e); |
||||||
|
|
||||||
|
public class IHxIndexViewEvents_ItemSelectEvent { |
||||||
|
|
||||||
|
public int iItem; |
||||||
|
|
||||||
|
public IHxIndexViewEvents_ItemSelectEvent(int iItem) { |
||||||
|
this.iItem = iItem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)] |
||||||
|
public class AxHxIndexCtrlEventMulticaster : MSHelpControls.IHxIndexViewEvents { |
||||||
|
|
||||||
|
private AxHxIndexCtrl parent; |
||||||
|
|
||||||
|
public AxHxIndexCtrlEventMulticaster(AxHxIndexCtrl parent) { |
||||||
|
this.parent = parent; |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ItemClick(int iItem) { |
||||||
|
IHxIndexViewEvents_ItemClickEvent itemclickEvent = new IHxIndexViewEvents_ItemClickEvent(iItem); |
||||||
|
this.parent.RaiseOnItemClick(this.parent, itemclickEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ItemSelect(int iItem) { |
||||||
|
IHxIndexViewEvents_ItemSelectEvent itemselectEvent = new IHxIndexViewEvents_ItemSelectEvent(iItem); |
||||||
|
this.parent.RaiseOnItemSelect(this.parent, itemselectEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,47 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Base Help 2.0 Services (Help 2.0 Controls Validation) |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2Service |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.IO; |
||||||
|
using Microsoft.Win32; |
||||||
|
|
||||||
|
|
||||||
|
public sealed class Help2ControlsValidation |
||||||
|
{ |
||||||
|
public static bool IsTocControlRegistered |
||||||
|
{ |
||||||
|
get { |
||||||
|
return IsClassRegistered("{314111b8-a502-11d2-bbca-00c04f8ec294}"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static bool IsIndexControlRegistered |
||||||
|
{ |
||||||
|
get { |
||||||
|
return IsClassRegistered("{314111c6-a502-11d2-bbca-00c04f8ec294}"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static bool IsClassRegistered(string classId) |
||||||
|
{ |
||||||
|
try { |
||||||
|
RegistryKey tempRegKey = Registry.ClassesRoot.OpenSubKey(String.Format("CLSID\\{0}\\InprocServer32", classId)); |
||||||
|
string help2Dll = (string)tempRegKey.GetValue(""); |
||||||
|
return (help2Dll != null && help2Dll != "" && File.Exists(help2Dll)); |
||||||
|
} |
||||||
|
catch { |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public Help2ControlsValidation() |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,89 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Base Help 2.0 Services |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2Service |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Windows.Forms; |
||||||
|
using MSHelpServices; |
||||||
|
|
||||||
|
|
||||||
|
public sealed class Help2RegistryWalker |
||||||
|
{ |
||||||
|
public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection) |
||||||
|
{ |
||||||
|
if(help2Collections == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
help2Collections.Items.Clear(); |
||||||
|
help2Collections.BeginUpdate(); |
||||||
|
|
||||||
|
try { |
||||||
|
string currentDescription = ""; |
||||||
|
|
||||||
|
HxRegistryWalker regWalker = new HxRegistryWalker(); |
||||||
|
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); |
||||||
|
|
||||||
|
foreach(IHxRegNamespace currentNamespace in namespaces) { |
||||||
|
help2Collections.Items.Add((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)); |
||||||
|
|
||||||
|
if(selectedHelp2Collection != "" && String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0) { |
||||||
|
currentDescription = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if(currentDescription != "") help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription); |
||||||
|
else help2Collections.SelectedIndex = 0; |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
|
||||||
|
help2Collections.EndUpdate(); |
||||||
|
} |
||||||
|
|
||||||
|
public static string GetNamespaceName(string namespaceDescription) |
||||||
|
{ |
||||||
|
try { |
||||||
|
HxRegistryWalker regWalker = new HxRegistryWalker(); |
||||||
|
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); |
||||||
|
foreach(IHxRegNamespace currentNamespace in namespaces) { |
||||||
|
if(String.Compare(namespaceDescription, (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)) == 0) { |
||||||
|
return currentNamespace.Name; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return ""; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string GetFirstNamespace(string namespaceName) |
||||||
|
{ |
||||||
|
try { |
||||||
|
HxRegistryWalker regWalker = new HxRegistryWalker(); |
||||||
|
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); |
||||||
|
foreach(IHxRegNamespace currentNamespace in namespaces) { |
||||||
|
if(String.Compare(namespaceName, currentNamespace.Name) == 0) { |
||||||
|
return namespaceName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return namespaces.ItemAt(1).Name; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public Help2RegistryWalker() |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,111 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Help 2.0 Helper Dialog |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2HelperDialog |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
public class IconPictureBox : PictureBox |
||||||
|
{ |
||||||
|
private Icon icon = null; |
||||||
|
|
||||||
|
public Icon Icon |
||||||
|
{ |
||||||
|
get { |
||||||
|
return this.icon; |
||||||
|
} |
||||||
|
set { |
||||||
|
this.icon = value; |
||||||
|
base.Image = this.icon.ToBitmap(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e) |
||||||
|
{ |
||||||
|
e.Graphics.DrawIconUnstretched(this.icon, base.ClientRectangle); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class HtmlHelp2Dialog : Form |
||||||
|
{ |
||||||
|
private IconPictureBox pictureBox1; |
||||||
|
private System.Windows.Forms.Label actionLabel; |
||||||
|
|
||||||
|
public string ActionLabel |
||||||
|
{ |
||||||
|
get { |
||||||
|
return actionLabel.Text; |
||||||
|
} |
||||||
|
set { |
||||||
|
actionLabel.Text = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public Icon ActionIcon |
||||||
|
{ |
||||||
|
get { |
||||||
|
return pictureBox1.Icon; |
||||||
|
} |
||||||
|
set { |
||||||
|
pictureBox1.Icon = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public HtmlHelp2Dialog() |
||||||
|
{ |
||||||
|
this.InitializeComponent(); |
||||||
|
pictureBox1.Icon = SystemIcons.Question; |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows Forms Designer generated code
|
||||||
|
/// <summary>
|
||||||
|
/// This method is required for Windows Forms designer support.
|
||||||
|
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||||
|
/// not be able to load this method if it was changed manually.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() |
||||||
|
{ |
||||||
|
this.actionLabel = new System.Windows.Forms.Label(); |
||||||
|
this.pictureBox1 = new IconPictureBox(); |
||||||
|
|
||||||
|
this.SuspendLayout(); |
||||||
|
//
|
||||||
|
// actionLabel
|
||||||
|
//
|
||||||
|
this.actionLabel.Location = new System.Drawing.Point(66, 16); |
||||||
|
this.actionLabel.Name = "actionLabel"; |
||||||
|
this.actionLabel.Size = new System.Drawing.Size(190, 64); |
||||||
|
this.actionLabel.TabIndex = 1; |
||||||
|
//
|
||||||
|
// pictureBox1
|
||||||
|
//
|
||||||
|
this.pictureBox1.Location = new System.Drawing.Point(16, 16); |
||||||
|
this.pictureBox1.Name = "pictureBox1"; |
||||||
|
this.pictureBox1.Size = new System.Drawing.Size(32, 32); |
||||||
|
this.pictureBox1.TabIndex = 0; |
||||||
|
this.pictureBox1.TabStop = false; |
||||||
|
//
|
||||||
|
// HtmlHelp2Dialog
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
||||||
|
this.ClientSize = new System.Drawing.Size(268, 96); |
||||||
|
this.Controls.Add(this.actionLabel); |
||||||
|
this.Controls.Add(this.pictureBox1); |
||||||
|
this.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "HtmlHelp2Dialog"; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; |
||||||
|
this.Text = "HtmlHelp2Dialog"; |
||||||
|
this.ResumeLayout(false); |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,87 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Base Help 2.0 Services (Options Panel) |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2Service |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Collections; |
||||||
|
using System.IO; |
||||||
|
using System.Reflection; |
||||||
|
using System.Windows.Forms; |
||||||
|
using System.Xml; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
using MSHelpServices; |
||||||
|
|
||||||
|
public class HtmlHelp2OptionsPanel : AbstractOptionPanel |
||||||
|
{ |
||||||
|
static string help2EnvironmentFile = "help2environment.xml"; |
||||||
|
bool Help2EnvIsReady = false; |
||||||
|
ComboBox help2Collections = null; |
||||||
|
string selectedHelp2Collection = "Fidalgo"; |
||||||
|
|
||||||
|
public override void LoadPanelContents() |
||||||
|
{ |
||||||
|
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("HtmlHelp2.Resources.HtmlHelp2Options.xfrm")); |
||||||
|
this.InitializeComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
public override bool StorePanelContents() |
||||||
|
{ |
||||||
|
this.SaveHelp2Config(); |
||||||
|
HtmlHelp2Environment.ReloadNamespace(); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
private void InitializeComponents() |
||||||
|
{ |
||||||
|
Help2EnvIsReady = HtmlHelp2Environment.IsReady; |
||||||
|
|
||||||
|
try { |
||||||
|
help2Collections = (ComboBox)ControlDictionary["help2Collections"]; |
||||||
|
help2Collections.Enabled = Help2EnvIsReady; |
||||||
|
help2Collections.SelectedIndexChanged += new EventHandler(this.NamespaceNameChanged); |
||||||
|
selectedHelp2Collection = HtmlHelp2Environment.CurrentSelectedNamespace; |
||||||
|
|
||||||
|
Help2RegistryWalker.BuildNamespacesList(help2Collections, selectedHelp2Collection); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void NamespaceNameChanged(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if(help2Collections.SelectedItem != null) { |
||||||
|
try { |
||||||
|
selectedHelp2Collection = Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString()); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void SaveHelp2Config() |
||||||
|
{ |
||||||
|
try { |
||||||
|
XmlDocument xmldoc = new XmlDocument(); |
||||||
|
XmlNode node = null; |
||||||
|
XmlCDataSection cdata = null; |
||||||
|
xmldoc.LoadXml("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><help2environment/>"); |
||||||
|
|
||||||
|
node = xmldoc.CreateElement("collection"); |
||||||
|
cdata = xmldoc.CreateCDataSection(selectedHelp2Collection); |
||||||
|
node.AppendChild(cdata); |
||||||
|
xmldoc.DocumentElement.AppendChild(node); |
||||||
|
|
||||||
|
xmldoc.Save(PropertyService.ConfigDirectory + help2EnvironmentFile); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,317 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Base Help 2.0 Services |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2Service |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Windows.Forms; |
||||||
|
using System.Xml; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using MSHelpServices; |
||||||
|
using HtmlHelp2HelperDialog; |
||||||
|
|
||||||
|
|
||||||
|
public sealed class HtmlHelp2Environment |
||||||
|
{ |
||||||
|
static string help2EnvironmentFile = "help2environment.xml"; |
||||||
|
static Guid TocGuid = new Guid("314111B2-A502-11D2-BBCA-00C04F8EC294"); |
||||||
|
static Guid IndexGuid = new Guid("314111CC-A502-11D2-BBCA-00C04F8EC294"); |
||||||
|
static Guid QueryGuid = new Guid("31411193-A502-11D2-BBCA-00C04F8EC294"); |
||||||
|
|
||||||
|
static HxSession session = null; |
||||||
|
static IHxRegFilterList namespaceFilters = null; |
||||||
|
static IHxQuery fulltextSearch = null; |
||||||
|
static IHxQuery dynamicHelp = null; |
||||||
|
static string fidalgoNamespaceName = "Corsavy"; |
||||||
|
static string currentSelectedFilterQuery = ""; |
||||||
|
static string currentSelectedFilterName = ""; |
||||||
|
static string defaultPage = "about:blank"; |
||||||
|
static string searchPage = "http://msdn.microsoft.com"; |
||||||
|
static bool dynamicHelpIsBusy = false; |
||||||
|
|
||||||
|
static HtmlHelp2Environment() |
||||||
|
{ |
||||||
|
LoadHelp2Config(); |
||||||
|
fidalgoNamespaceName = Help2RegistryWalker.GetFirstNamespace(fidalgoNamespaceName); |
||||||
|
InitializeNamespace(fidalgoNamespaceName); |
||||||
|
} |
||||||
|
|
||||||
|
#region Properties
|
||||||
|
public static bool IsReady |
||||||
|
{ |
||||||
|
get { |
||||||
|
return session != null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string CurrentSelectedNamespace |
||||||
|
{ |
||||||
|
get { |
||||||
|
return fidalgoNamespaceName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string CurrentFilterQuery |
||||||
|
{ |
||||||
|
get { |
||||||
|
return currentSelectedFilterQuery; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string CurrentFilterName |
||||||
|
{ |
||||||
|
get { |
||||||
|
return currentSelectedFilterName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string DefaultPage |
||||||
|
{ |
||||||
|
get { |
||||||
|
return defaultPage; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string SearchPage |
||||||
|
{ |
||||||
|
get { |
||||||
|
return searchPage; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static IHxQuery FTS |
||||||
|
{ |
||||||
|
get { |
||||||
|
return fulltextSearch; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static bool DynamicHelpIsBusy |
||||||
|
{ |
||||||
|
get { |
||||||
|
return dynamicHelpIsBusy; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Namespace Functions
|
||||||
|
private static void LoadHelp2Config() |
||||||
|
{ |
||||||
|
try { |
||||||
|
XmlDocument xmldoc = new XmlDocument(); |
||||||
|
xmldoc.Load(PropertyService.ConfigDirectory + help2EnvironmentFile); |
||||||
|
|
||||||
|
XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection"); |
||||||
|
if(node != null) fidalgoNamespaceName = node.InnerText; |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static void ReloadNamespace() |
||||||
|
{ |
||||||
|
LoadHelp2Config(); |
||||||
|
fidalgoNamespaceName = Help2RegistryWalker.GetFirstNamespace(fidalgoNamespaceName); |
||||||
|
InitializeNamespace(fidalgoNamespaceName); |
||||||
|
OnNamespaceReloaded(EventArgs.Empty); |
||||||
|
} |
||||||
|
|
||||||
|
private static void InitializeNamespace(string namespaceName) |
||||||
|
{ |
||||||
|
if(namespaceName == null || namespaceName == "") { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
if(session != null) session = null; |
||||||
|
|
||||||
|
try { |
||||||
|
currentSelectedFilterQuery = ""; |
||||||
|
currentSelectedFilterName = ""; |
||||||
|
|
||||||
|
HtmlHelp2Dialog initDialog = new HtmlHelp2Dialog(); |
||||||
|
initDialog.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HelpUpdateCaption}"); |
||||||
|
initDialog.ActionLabel = StringParser.Parse("${res:AddIns.HtmlHelp2.HelpUpdateInProgress}"); |
||||||
|
initDialog.Show(); |
||||||
|
Application.DoEvents(); |
||||||
|
|
||||||
|
session = new HxSession(); |
||||||
|
session.Initialize(String.Format("ms-help://{0}", namespaceName), 0); |
||||||
|
namespaceFilters = session.GetFilterList(); |
||||||
|
|
||||||
|
ReloadDefaultPages(); |
||||||
|
ReloadFTSSystem(); |
||||||
|
ReloadDynamicHelpSystem(); |
||||||
|
|
||||||
|
initDialog.Dispose(); |
||||||
|
} |
||||||
|
catch { |
||||||
|
session = null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static void ReloadFTSSystem() |
||||||
|
{ |
||||||
|
try { |
||||||
|
fulltextSearch = (IHxQuery)session.GetNavigationInterface("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid); |
||||||
|
} |
||||||
|
catch { |
||||||
|
fulltextSearch = null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static void ReloadDynamicHelpSystem() |
||||||
|
{ |
||||||
|
try { |
||||||
|
dynamicHelp = (IHxQuery)session.GetNavigationInterface("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref QueryGuid); |
||||||
|
} |
||||||
|
catch { |
||||||
|
dynamicHelp = null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static void ReloadDefaultPages() |
||||||
|
{ |
||||||
|
try { |
||||||
|
defaultPage = GetDefaultPage("HomePage", "DefaultPage", "about:blank"); |
||||||
|
searchPage = GetDefaultPage("SearchHelpPage", "SearchWebPage", "http://msdn.microsoft.com"); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static string GetDefaultPage(string pageName, string alternatePageName, string defaultValue) |
||||||
|
{ |
||||||
|
string resultString = ""; |
||||||
|
|
||||||
|
try { |
||||||
|
IHxIndex namedUrlIndex = (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", "", ref IndexGuid); |
||||||
|
IHxTopicList topics = null; |
||||||
|
|
||||||
|
topics = namedUrlIndex.GetTopicsFromString(pageName, 0); |
||||||
|
|
||||||
|
if(topics.Count == 0 && (alternatePageName != null && alternatePageName != "")) { |
||||||
|
topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0); |
||||||
|
} |
||||||
|
|
||||||
|
if(topics.Count > 0) resultString = topics.ItemAt(1).URL; |
||||||
|
else resultString = defaultValue; |
||||||
|
|
||||||
|
return resultString; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static IHxHierarchy GetTocHierarchy(string filterQuery) |
||||||
|
{ |
||||||
|
try { |
||||||
|
IHxHierarchy defaultToc = (IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid); |
||||||
|
return defaultToc; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static IHxIndex GetIndex(string filterQuery) |
||||||
|
{ |
||||||
|
try { |
||||||
|
IHxIndex defaultIndex = (IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex", filterQuery, ref IndexGuid); |
||||||
|
return defaultIndex; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static void BuildFilterList(ComboBox filterCombobox) |
||||||
|
{ |
||||||
|
filterCombobox.Items.Clear(); |
||||||
|
filterCombobox.BeginUpdate(); |
||||||
|
|
||||||
|
try { |
||||||
|
for(int i = 1; i <= namespaceFilters.Count; i++) { |
||||||
|
IHxRegFilter filter = namespaceFilters.ItemAt(i); |
||||||
|
string filterName = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterName); |
||||||
|
filterCombobox.Items.Add(filterName); |
||||||
|
|
||||||
|
if(currentSelectedFilterName == "" && i == 1) { |
||||||
|
currentSelectedFilterName = filterName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if(namespaceFilters.Count == 0) filterCombobox.Items.Add(StringParser.Parse("${res:AddIns.HtmlHelp2.DefaultEmptyFilter}")); |
||||||
|
|
||||||
|
if(currentSelectedFilterName == "") filterCombobox.SelectedIndex = 0; |
||||||
|
else filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName); |
||||||
|
} |
||||||
|
catch { |
||||||
|
} |
||||||
|
filterCombobox.EndUpdate(); |
||||||
|
} |
||||||
|
|
||||||
|
public static string FindFilterQuery(string filterName) |
||||||
|
{ |
||||||
|
if(String.Compare(filterName, currentSelectedFilterName) == 0) { |
||||||
|
return currentSelectedFilterQuery; |
||||||
|
} |
||||||
|
|
||||||
|
try { |
||||||
|
IHxRegFilter filter = namespaceFilters.FindFilter(filterName); |
||||||
|
currentSelectedFilterQuery = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterQuery); |
||||||
|
currentSelectedFilterName = filterName; |
||||||
|
|
||||||
|
OnFilterQueryChanged(EventArgs.Empty); |
||||||
|
|
||||||
|
ReloadFTSSystem(); |
||||||
|
ReloadDynamicHelpSystem(); |
||||||
|
ReloadDefaultPages(); |
||||||
|
return currentSelectedFilterQuery; |
||||||
|
} |
||||||
|
catch { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static IHxTopicList GetMatchingTopicsForDynamicHelp(string searchTerm) |
||||||
|
{ |
||||||
|
if(dynamicHelpIsBusy) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
try { |
||||||
|
dynamicHelpIsBusy = true; |
||||||
|
IHxTopicList topics = ((IHxIndex)dynamicHelp).GetTopicsFromString(searchTerm, 0); |
||||||
|
return topics; |
||||||
|
} |
||||||
|
finally { |
||||||
|
dynamicHelpIsBusy = false; |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Event Handling
|
||||||
|
public static event EventHandler FilterQueryChanged; |
||||||
|
public static event EventHandler NamespaceReloaded; |
||||||
|
|
||||||
|
private static void OnFilterQueryChanged(EventArgs e) |
||||||
|
{ |
||||||
|
if(FilterQueryChanged != null) { |
||||||
|
FilterQueryChanged(null, e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private static void OnNamespaceReloaded(EventArgs e) |
||||||
|
{ |
||||||
|
if(NamespaceReloaded != null) { |
||||||
|
NamespaceReloaded(null, e); |
||||||
|
} |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
/* *********************************************************** |
||||||
|
* |
||||||
|
* Help 2.0 Environment for SharpDevelop |
||||||
|
* Base Help 2.0 Services |
||||||
|
* Copyright (c) 2005, Mathias Simmack. All rights reserved. |
||||||
|
* |
||||||
|
* ********************************************************* */ |
||||||
|
namespace HtmlHelp2Service |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Reflection; |
||||||
|
using System.Resources; |
||||||
|
|
||||||
|
public sealed class ResourcesHelper |
||||||
|
{ |
||||||
|
static ResourcesHelper instance; |
||||||
|
|
||||||
|
static ResourcesHelper() |
||||||
|
{ |
||||||
|
instance = new ResourcesHelper(); |
||||||
|
} |
||||||
|
|
||||||
|
public static Bitmap GetBitmap(string resourceName) |
||||||
|
{ |
||||||
|
Assembly assembly = typeof(ResourcesHelper).Assembly; |
||||||
|
string fullName = String.Format("HtmlHelp2.Resources.{0}", resourceName); |
||||||
|
return new Bitmap(assembly.GetManifestResourceStream(fullName)); |
||||||
|
} |
||||||
|
|
||||||
|
public static Image GetImage(string imageName) |
||||||
|
{ |
||||||
|
return instance.ImageResourceHelper.GetObject(imageName) as Image; |
||||||
|
} |
||||||
|
|
||||||
|
ResourceManager ImageResourceHelper; |
||||||
|
|
||||||
|
ResourcesHelper() |
||||||
|
{ |
||||||
|
ImageResourceHelper = new ResourceManager("HtmlHelp2.Resources", GetType().Assembly); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,769 @@ |
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:2.0.50215.44
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyVersion("1.0.0.0")] |
||||||
|
[assembly: System.Windows.Forms.AxHost.TypeLibraryTimeStamp("09.04.2005 00:38:34")] |
||||||
|
|
||||||
|
namespace AxMSHelpControls { |
||||||
|
|
||||||
|
|
||||||
|
[System.Windows.Forms.AxHost.ClsidAttribute("{314111b8-a502-11d2-bbca-00c04f8ec294}")] |
||||||
|
[System.ComponentModel.DesignTimeVisibleAttribute(true)] |
||||||
|
public class AxHxTocCtrl : System.Windows.Forms.AxHost { |
||||||
|
|
||||||
|
private MSHelpControls.IHxTreeView ocx; |
||||||
|
|
||||||
|
private AxHxTocCtrlEventMulticaster eventMulticaster; |
||||||
|
|
||||||
|
private System.Windows.Forms.AxHost.ConnectionPointCookie cookie; |
||||||
|
|
||||||
|
public AxHxTocCtrl() : |
||||||
|
base("314111b8-a502-11d2-bbca-00c04f8ec294") { |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(false)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4096)] |
||||||
|
public virtual MSHelpServices.IHxHierarchy Hierarchy { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Hierarchy", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Hierarchy; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Hierarchy", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Hierarchy = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4100)] |
||||||
|
public virtual int ImageList { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ImageList", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.ImageList; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ImageList", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.ImageList = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4097)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual bool HideSelection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HideSelection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.HideSelection; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HideSelection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HideSelection = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4098)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxTreeLineStyleConstant LineStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LineStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LineStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LineStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LineStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4099)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxTreeStyleConstant TreeStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TreeStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.TreeStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TreeStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.TreeStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-501)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Color BackColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.BackColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.BackColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.BackColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.BackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-513)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Color ForeColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.ForeColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.ForeColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.ForeColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.ForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-504)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxBorderStyle BorderStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.BorderStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.BorderStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-520)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxAppearanceConstant Appearance { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Appearance; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Appearance = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-521)] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public virtual MSHelpControls.HxMousePointerConstant MousePointer { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.MousePointer; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.MousePointer = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-512)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("stdole.StdFont")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Font Font { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetFontFromIFont(this.ocx.Font); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.Font; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.Font = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.Font = ((stdole.StdFont)(GetIFontFromFont(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4102)] |
||||||
|
public virtual int Selection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Selection; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4103)] |
||||||
|
public virtual short LangId { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LangId; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LangId = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(4104)] |
||||||
|
public virtual MSHelpControls.HxFontSourceConstant FontSource { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.FontSource; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FontSource = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public event IHxTreeViewEvents_NodeClickEventHandler NodeClick; |
||||||
|
|
||||||
|
public event IHxTreeViewEvents_NodeRightClickEventHandler NodeRightClick; |
||||||
|
|
||||||
|
public virtual void Refresh() { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void Synchronize(string bstrURL) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Synchronize", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Synchronize(bstrURL); |
||||||
|
} |
||||||
|
|
||||||
|
protected override void CreateSink() { |
||||||
|
try { |
||||||
|
this.eventMulticaster = new AxHxTocCtrlEventMulticaster(this); |
||||||
|
this.cookie = new System.Windows.Forms.AxHost.ConnectionPointCookie(this.ocx, this.eventMulticaster, typeof(MSHelpControls.IHxTreeViewEvents)); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void DetachSink() { |
||||||
|
try { |
||||||
|
this.cookie.Disconnect(); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void AttachInterfaces() { |
||||||
|
try { |
||||||
|
this.ocx = ((MSHelpControls.IHxTreeView)(this.GetOcx())); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnNodeClick(object sender, IHxTreeViewEvents_NodeClickEvent e) { |
||||||
|
if ((this.NodeClick != null)) { |
||||||
|
this.NodeClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnNodeRightClick(object sender, IHxTreeViewEvents_NodeRightClickEvent e) { |
||||||
|
if ((this.NodeRightClick != null)) { |
||||||
|
this.NodeRightClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxTreeViewEvents_NodeClickEventHandler(object sender, IHxTreeViewEvents_NodeClickEvent e); |
||||||
|
|
||||||
|
public class IHxTreeViewEvents_NodeClickEvent { |
||||||
|
|
||||||
|
public int hNode; |
||||||
|
|
||||||
|
public IHxTreeViewEvents_NodeClickEvent(int hNode) { |
||||||
|
this.hNode = hNode; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxTreeViewEvents_NodeRightClickEventHandler(object sender, IHxTreeViewEvents_NodeRightClickEvent e); |
||||||
|
|
||||||
|
public class IHxTreeViewEvents_NodeRightClickEvent { |
||||||
|
|
||||||
|
public int hNode; |
||||||
|
|
||||||
|
public int x; |
||||||
|
|
||||||
|
public int y; |
||||||
|
|
||||||
|
public IHxTreeViewEvents_NodeRightClickEvent(int hNode, int x, int y) { |
||||||
|
this.hNode = hNode; |
||||||
|
this.x = x; |
||||||
|
this.y = y; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)] |
||||||
|
public class AxHxTocCtrlEventMulticaster : MSHelpControls.IHxTreeViewEvents { |
||||||
|
|
||||||
|
private AxHxTocCtrl parent; |
||||||
|
|
||||||
|
public AxHxTocCtrlEventMulticaster(AxHxTocCtrl parent) { |
||||||
|
this.parent = parent; |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void NodeClick(int hNode) { |
||||||
|
IHxTreeViewEvents_NodeClickEvent nodeclickEvent = new IHxTreeViewEvents_NodeClickEvent(hNode); |
||||||
|
this.parent.RaiseOnNodeClick(this.parent, nodeclickEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void NodeRightClick(int hNode, int x, int y) { |
||||||
|
IHxTreeViewEvents_NodeRightClickEvent noderightclickEvent = new IHxTreeViewEvents_NodeRightClickEvent(hNode, x, y); |
||||||
|
this.parent.RaiseOnNodeRightClick(this.parent, noderightclickEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Windows.Forms.AxHost.ClsidAttribute("{314111c6-a502-11d2-bbca-00c04f8ec294}")] |
||||||
|
[System.ComponentModel.DesignTimeVisibleAttribute(true)] |
||||||
|
public class AxHxIndexCtrl : System.Windows.Forms.AxHost { |
||||||
|
|
||||||
|
private MSHelpControls.IHxIndexView ocx; |
||||||
|
|
||||||
|
private AxHxIndexCtrlEventMulticaster eventMulticaster; |
||||||
|
|
||||||
|
private System.Windows.Forms.AxHost.ConnectionPointCookie cookie; |
||||||
|
|
||||||
|
public AxHxIndexCtrl() : |
||||||
|
base("314111c6-a502-11d2-bbca-00c04f8ec294") { |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(false)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16384)] |
||||||
|
public virtual MSHelpServices.IHxIndex IndexData { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("IndexData", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.IndexData; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("IndexData", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.IndexData = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16385)] |
||||||
|
public virtual int Selection { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Selection; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Selection", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Selection = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-501)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public override System.Drawing.Color BackColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.BackColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.BackColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.BackColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.BackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-513)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public override System.Drawing.Color ForeColor { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.ForeColor))); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.ForeColor; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.ForeColor = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.ForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-504)] |
||||||
|
public virtual MSHelpControls.HxBorderStyle BorderStyle { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.BorderStyle; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("BorderStyle", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.BorderStyle = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-520)] |
||||||
|
public virtual MSHelpControls.HxAppearanceConstant Appearance { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.Appearance; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Appearance", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.Appearance = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-521)] |
||||||
|
public virtual MSHelpControls.HxMousePointerConstant MousePointer { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.MousePointer; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MousePointer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.MousePointer = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.Browsable(true)] |
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(-512)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("stdole.StdFont")] |
||||||
|
[System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)] |
||||||
|
public override System.Drawing.Font Font { |
||||||
|
get { |
||||||
|
if (((this.ocx != null) |
||||||
|
&& (this.PropsValid() == true))) { |
||||||
|
return GetFontFromIFont(this.ocx.Font); |
||||||
|
} |
||||||
|
else { |
||||||
|
return base.Font; |
||||||
|
} |
||||||
|
} |
||||||
|
set { |
||||||
|
base.Font = value; |
||||||
|
if ((this.ocx != null)) { |
||||||
|
this.ocx.Font = ((stdole.StdFont)(GetIFontFromFont(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16388)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color HighlightForeColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.HighlightForeColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HighlightForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16389)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color HighlightBackColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.HighlightBackColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.HighlightBackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16390)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color FocusHighlightForeColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.FocusHighlightForeColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightForeColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FocusHighlightForeColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16391)] |
||||||
|
[System.Runtime.InteropServices.ComAliasNameAttribute("System.UInt32")] |
||||||
|
public virtual System.Drawing.Color FocusHighlightBackColor { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return GetColorFromOleColor(((uint)(this.ocx.FocusHighlightBackColor))); |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FocusHighlightBackColor", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FocusHighlightBackColor = ((uint)(GetOleColorFromColor(value))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16392)] |
||||||
|
public virtual short LangId { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.LangId; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LangId", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.LangId = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] |
||||||
|
[System.Runtime.InteropServices.DispIdAttribute(16393)] |
||||||
|
public virtual MSHelpControls.HxFontSourceConstant FontSource { |
||||||
|
get { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet); |
||||||
|
} |
||||||
|
return this.ocx.FontSource; |
||||||
|
} |
||||||
|
set { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FontSource", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet); |
||||||
|
} |
||||||
|
this.ocx.FontSource = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public event IHxIndexViewEvents_ItemClickEventHandler ItemClick; |
||||||
|
|
||||||
|
public event IHxIndexViewEvents_ItemSelectEventHandler ItemSelect; |
||||||
|
|
||||||
|
public virtual void SelectItem(int iItem) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("SelectItem", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.SelectItem(iItem); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ClickItem(int iItem) { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ClickItem", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.ClickItem(iItem); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void Refresh() { |
||||||
|
if ((this.ocx == null)) { |
||||||
|
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke); |
||||||
|
} |
||||||
|
this.ocx.Refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
protected override void CreateSink() { |
||||||
|
try { |
||||||
|
this.eventMulticaster = new AxHxIndexCtrlEventMulticaster(this); |
||||||
|
this.cookie = new System.Windows.Forms.AxHost.ConnectionPointCookie(this.ocx, this.eventMulticaster, typeof(MSHelpControls.IHxIndexViewEvents)); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void DetachSink() { |
||||||
|
try { |
||||||
|
this.cookie.Disconnect(); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void AttachInterfaces() { |
||||||
|
try { |
||||||
|
this.ocx = ((MSHelpControls.IHxIndexView)(this.GetOcx())); |
||||||
|
} |
||||||
|
catch (System.Exception ) { |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnItemClick(object sender, IHxIndexViewEvents_ItemClickEvent e) { |
||||||
|
if ((this.ItemClick != null)) { |
||||||
|
this.ItemClick(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal void RaiseOnItemSelect(object sender, IHxIndexViewEvents_ItemSelectEvent e) { |
||||||
|
if ((this.ItemSelect != null)) { |
||||||
|
this.ItemSelect(sender, e); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxIndexViewEvents_ItemClickEventHandler(object sender, IHxIndexViewEvents_ItemClickEvent e); |
||||||
|
|
||||||
|
public class IHxIndexViewEvents_ItemClickEvent { |
||||||
|
|
||||||
|
public int iItem; |
||||||
|
|
||||||
|
public IHxIndexViewEvents_ItemClickEvent(int iItem) { |
||||||
|
this.iItem = iItem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void IHxIndexViewEvents_ItemSelectEventHandler(object sender, IHxIndexViewEvents_ItemSelectEvent e); |
||||||
|
|
||||||
|
public class IHxIndexViewEvents_ItemSelectEvent { |
||||||
|
|
||||||
|
public int iItem; |
||||||
|
|
||||||
|
public IHxIndexViewEvents_ItemSelectEvent(int iItem) { |
||||||
|
this.iItem = iItem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)] |
||||||
|
public class AxHxIndexCtrlEventMulticaster : MSHelpControls.IHxIndexViewEvents { |
||||||
|
|
||||||
|
private AxHxIndexCtrl parent; |
||||||
|
|
||||||
|
public AxHxIndexCtrlEventMulticaster(AxHxIndexCtrl parent) { |
||||||
|
this.parent = parent; |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ItemClick(int iItem) { |
||||||
|
IHxIndexViewEvents_ItemClickEvent itemclickEvent = new IHxIndexViewEvents_ItemClickEvent(iItem); |
||||||
|
this.parent.RaiseOnItemClick(this.parent, itemclickEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public virtual void ItemSelect(int iItem) { |
||||||
|
IHxIndexViewEvents_ItemSelectEvent itemselectEvent = new IHxIndexViewEvents_ItemSelectEvent(iItem); |
||||||
|
this.parent.RaiseOnItemSelect(this.parent, itemselectEvent); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,15 @@ |
|||||||
|
@echo off |
||||||
|
|
||||||
|
del *.dll |
||||||
|
del *.cs |
||||||
|
|
||||||
|
|
||||||
|
setlocal |
||||||
|
set AxImp="C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\Bin\AxImp.exe" |
||||||
|
%AxImp% -source "%CommonProgramFiles%\Microsoft Shared\help\hxvz.dll" |
||||||
|
set AxImp= |
||||||
|
|
||||||
|
del *.pdb |
||||||
|
del Ax*.dll |
||||||
|
|
||||||
|
pause |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
The "MSHelpControls.dll", "MSHelpServices.dll" and the "stdole.dll" are generated .NET wrappers. There is a fourth file, you can find in the "source\HtmlHelp2\Help2Service" folder, called "AxMSHelpControls.cs". |
||||||
|
|
||||||
|
If you want to re-generate the wrapper files, just call the "import.bat" file. But first make sure that all paths are valid. These are the two important lines |
||||||
|
|
||||||
|
set AxImp="K:\Programme\Microsoft.NET\SDK\v2.0\Bin\AxImp.exe" |
||||||
|
%AxImp% -source "%CommonProgramFiles%\Microsoft Shared\help\hxvz.dll" |
||||||
|
|
||||||
|
|
||||||
|
The AxImp tool will create an "AxMSHelpControls.cs" file and an "AxMSHelpControls.dll" file. My addin was build with the CSharp source file. Please copy the re-created version into the "source\HtmlHelp2\Help2Service" folder, overwriting the existing file. |
||||||
|
|
||||||
|
|
||||||
|
NOTE: It's not necessary to rename the wrapper libraries with some kind of an "Interop." prefix or something like that. There are no native Windows libraries with the same names. |
||||||
|
|
||||||
|
|
||||||
|
Mathias Simmack |
||||||
|
(2005-06-24) |
||||||