Browse Source

I changed some of the CSharp namespace names; there are no bug fixes in this upload

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@460 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mathias Simmack 20 years ago
parent
commit
4cfa438cc1
  1. 2
      src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
  2. 21
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
  3. 19
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj
  4. 171
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  5. 85
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/FavoritesPad.cs
  6. 66
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs
  7. 26
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  8. 79
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs
  9. 28
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
  10. 126
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  11. 12
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
  12. 12
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
  13. 18
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
  14. 16
      src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
  15. 18
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2ControlsValidation.cs
  16. 60
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
  17. 28
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Dialog.cs
  18. 38
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs
  19. 133
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
  20. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/ResourcesHelper.cs

2
src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs

@ -31,7 +31,7 @@ using System.Runtime.CompilerServices; @@ -31,7 +31,7 @@ using System.Runtime.CompilerServices;
// 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.1")]
[assembly: AssemblyVersion("2.0.0.3")]
// The following attributes specify the key for the sign of your assembly. See the
// .NET Framework documentation for more information about signing.

21
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
copyright = "Copyright (c) 2005"
url = "unknown"
description = "integrates Microsoft's Help 2.0 Environment"
version = "2.0.0.2">
version = "2.0.0.3">
<Runtime>
<Import assembly="HtmlHelp2.dll"/>
@ -18,6 +18,11 @@ @@ -18,6 +18,11 @@
</Path>
<Path name = "/SharpDevelop/Workbench/Pads">
<!--<Pad id = "DynamicHelpPad"
category = "Help2"
title = "${res:AddIns.HtmlHelp2.DynamicHelp}"
icon = "HtmlHelp2.16x16.DynamicHelp"
class = "HtmlHelp2.HtmlHelp2DynamicHelpPad"/>-->
<Pad id = "TocPad"
category = "Help2"
title = "${res:AddIns.HtmlHelp2.Contents}"
@ -48,16 +53,16 @@ @@ -48,16 +53,16 @@
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions">
<DialogPanel id = "HtmlHelp2Options"
label = "${res:AddIns.HtmlHelp2.Environment}"
class = "HtmlHelp2Service.HtmlHelp2OptionsPanel"/>
class = "HtmlHelp2.OptionsPanel.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 = "DynamicHelpPadCommand"
insertafter = "Separator1"
label = "${res:AddIns.HtmlHelp2.DynamicHelp}"
icon = "HtmlHelp2.16x16.DynamicHelp"
shortcut = "Control|F1"
class = "HtmlHelp2.ShowDynamicHelpMenuCommand"/> -->
<MenuItem id = "TocPadCommand"
insertafter = "Separator1"
label = "${res:AddIns.HtmlHelp2.Contents}"

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

@ -35,13 +35,18 @@ @@ -35,13 +35,18 @@
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<Reference Include="ICSharpCode.TextEditor">
<HintPath>..\..\..\..\..\bin\ICSharpCode.TextEditor.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="src\BaseControls\TocPad.cs">
<SubType>UserControl</SubType>
</Compile>
<None Include="src\BaseControls\DynamicHelpPad.cs" />
<Compile Include="src\BaseControls\FavoritesPad.cs" />
<None Include="src\BaseControls\FavoritesPad.cs" />
<Compile Include="src\BaseControls\IndexPad.cs">
<SubType>UserControl</SubType>
</Compile>
@ -79,6 +84,18 @@ @@ -79,6 +84,18 @@
<Compile Include="src\BrowserScheme.cs" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Print.bmp" />
<Compile Include="src\MsHelpProvider.cs" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Search.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Toc.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Index.png" />
<None Include="Resources\OpenBook.png">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Include="Resources\ClosedBook.png">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Include="Resources\context.html">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">

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

@ -12,15 +12,14 @@ namespace HtmlHelp2 @@ -12,15 +12,14 @@ namespace HtmlHelp2
using System.Windows.Forms;
using System.Reflection;
using System.IO;
using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.TextEditor;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
using HtmlHelp2.ResourcesHelperClass;
using MSHelpServices;
@ -41,18 +40,16 @@ namespace HtmlHelp2 @@ -41,18 +40,16 @@ namespace HtmlHelp2
public override Control Control
{
get {
return dynamicHelpBrowser;
}
get { return dynamicHelpBrowser; }
}
public override void Dispose()
{
try {
try
{
dynamicHelpBrowser.Dispose();
}
catch {
}
catch {}
}
public override void RedrawContent()
@ -75,18 +72,22 @@ namespace HtmlHelp2 @@ -75,18 +72,22 @@ namespace HtmlHelp2
if(String.Compare(dynamicHelpString, this.lastDynamicHelpWord) == 0) return;
try {
try
{
this.RemoveAllChildren();
Cursor.Current = Cursors.WaitCursor;
IHxTopicList topics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(dynamicHelpString);
Cursor.Current = Cursors.Default;
if(topics.Count > 0) {
for(int i = 1; i <= topics.Count; i++) {
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)) {
if(expectedLanguage == null || expectedLanguage == "" || topic.HasAttribute("DevLang", expectedLanguage))
{
this.BuildNewChild(topic.Location,
topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName),
topic.URL);
@ -96,29 +97,29 @@ namespace HtmlHelp2 @@ -96,29 +97,29 @@ namespace HtmlHelp2
this.lastDynamicHelpWord = dynamicHelpString;
}
catch {
}
catch {}
}
private void RemoveAllChildren()
{
try {
dynamicHelpBrowser.Document.Body.InnerHtml = "";
this.internalIndex = 0;
}
catch {
}
this.internalIndex = 0;
dynamicHelpBrowser.RemoveAllChildren();
}
private void BuildNewChild(string sectionName, string topicName, string topicUrl)
{
try {
try
{
HtmlElementCollection children = dynamicHelpBrowser.Document.Body.GetElementsByTagName("span");
if(children.Count > 0) {
foreach(HtmlElement elem in children) {
if(elem.GetAttribute("className") == "section") {
try {
if(children.Count > 0)
{
foreach(HtmlElement elem in children)
{
if(elem.GetAttribute("className") == "section")
{
try
{
HtmlElement sectionBlock = elem.FirstChild.NextSibling;
HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling;
@ -131,8 +132,7 @@ namespace HtmlHelp2 @@ -131,8 +132,7 @@ namespace HtmlHelp2
return;
}
}
catch {
}
catch {}
}
}
@ -148,26 +148,29 @@ namespace HtmlHelp2 @@ -148,26 +148,29 @@ namespace HtmlHelp2
this.internalIndex++;
}
catch {
}
catch {}
}
private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode)
{
HtmlElement span = null;
linkNode = null;
linkNode = null;
try {
span = dynamicHelpBrowser.Document.CreateElement("span");
try
{
span = dynamicHelpBrowser.CreateHtmlElement("span");
// span = dynamicHelpBrowser.Document.CreateElement("span");
span.SetAttribute("className", "section");
HtmlElement img = dynamicHelpBrowser.Document.CreateElement("img");
HtmlElement img = dynamicHelpBrowser.CreateHtmlElement("img");
// HtmlElement img = dynamicHelpBrowser.Document.CreateElement("img");
img.Style = "width:16px;height:16px;margin-right:5px";
img.Id = String.Format("image_{0}", this.internalIndex.ToString());
img.SetAttribute("src", "OpenBook.png");
span.AppendChild(img);
HtmlElement b = dynamicHelpBrowser.Document.CreateElement("b");
HtmlElement b = dynamicHelpBrowser.CreateHtmlElement("b");
// HtmlElement b = dynamicHelpBrowser.Document.CreateElement("b");
b.InnerText = sectionName;
b.Style = "cursor:pointer";
b.SetAttribute("title", this.internalIndex.ToString());
@ -176,15 +179,15 @@ namespace HtmlHelp2 @@ -176,15 +179,15 @@ namespace HtmlHelp2
span.AppendChild(this.CreateABreak());
HtmlElement content = dynamicHelpBrowser.Document.CreateElement("span");
HtmlElement content = dynamicHelpBrowser.CreateHtmlElement("span");
// HtmlElement content = dynamicHelpBrowser.Document.CreateElement("span");
content.Id = String.Format("content_{0}", this.internalIndex.ToString());
content.SetAttribute("className", "content");
span.AppendChild(content);
linkNode = content;
}
catch {
linkNode = content;
}
catch {}
return span;
}
@ -193,8 +196,10 @@ namespace HtmlHelp2 @@ -193,8 +196,10 @@ namespace HtmlHelp2
{
HtmlElement span = null;
try {
span = dynamicHelpBrowser.Document.CreateElement("span");
try
{
span = dynamicHelpBrowser.CreateHtmlElement("span");
// span = dynamicHelpBrowser.Document.CreateElement("span");
span.InnerText = topicName;
span.SetAttribute("className", "link");
span.SetAttribute("title", topicUrl);
@ -202,26 +207,33 @@ namespace HtmlHelp2 @@ -202,26 +207,33 @@ namespace HtmlHelp2
span.MouseLeave += new HtmlElementEventHandler(OnMouseOut);
span.Click += new HtmlElementEventHandler(OnLinkClick);
}
catch {
}
catch {}
return span;
}
private HtmlElement CreateABreak()
{
HtmlElement br = dynamicHelpBrowser.Document.CreateElement("br");
HtmlElement br = null;
try
{
br = dynamicHelpBrowser.CreateHtmlElement("br");
// br = dynamicHelpBrowser.Document.CreateElement("br");
}
catch {}
return br;
}
#endregion
private void OnMouseOver(object sender, HtmlElementEventArgs e)
{
try {
try
{
StatusBarService.SetMessage(((HtmlElement)sender).GetAttribute("title"));
}
catch {
}
catch {}
}
private void OnMouseOut(object sender, HtmlElementEventArgs e)
@ -231,24 +243,24 @@ namespace HtmlHelp2 @@ -231,24 +243,24 @@ namespace HtmlHelp2
private void OnSectionClick(object sender, HtmlElementEventArgs e)
{
try {
try
{
string sectionId = ((HtmlElement)sender).GetAttribute("title");
object[] objArray = new object[1];
objArray[0] = (object)sectionId;
dynamicHelpBrowser.Document.InvokeScript("ExpandCollapse", objArray);
}
catch {
}
catch {}
}
private void OnLinkClick(object sender, HtmlElementEventArgs e)
{
try {
try
{
string url = ((HtmlElement)sender).GetAttribute("title");
if(url != null && url != String.Empty) ShowHelpBrowser.OpenHelpView(url);
}
catch {
}
catch {}
}
#region Taken from DefinitionView.cs
@ -256,7 +268,8 @@ namespace HtmlHelp2 @@ -256,7 +268,8 @@ namespace HtmlHelp2
{
// if (!this.IsVisible) return;
try {
try
{
ResolveResult res = ResolveAtCaret(e);
if (res == null || res.ResolvedType == null) return;
WorkbenchSingleton.SafeThreadAsyncCall(this,
@ -265,8 +278,7 @@ namespace HtmlHelp2 @@ -265,8 +278,7 @@ namespace HtmlHelp2
"");
// thanks again to Daniel and Robert
}
catch {
}
catch {}
}
private ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e)
@ -290,14 +302,13 @@ namespace HtmlHelp2 @@ -290,14 +302,13 @@ namespace HtmlHelp2
return ParserService.Resolve(expr, caret.Line, caret.Column, fileName, content);
}
#endregion
}
public class HtmlHelp2DynamicHelpBrowserControl : UserControl
{
ExtendedWebBrowser axWebBrowser = new ExtendedWebBrowser();
ToolStrip dynamicHelpToolbar = new ToolStrip();
string[] toolbarButtons = new string[] {
WebBrowser axWebBrowser = new WebBrowser();
ToolStrip dynamicHelpToolbar = new ToolStrip();
string[] toolbarButtons = new string[] {
"${res:AddIns.HtmlHelp2.Contents}",
"${res:AddIns.HtmlHelp2.Index}",
"${res:AddIns.HtmlHelp2.Search}"
@ -305,14 +316,36 @@ namespace HtmlHelp2 @@ -305,14 +316,36 @@ namespace HtmlHelp2
public HtmlDocument Document
{
get {
return axWebBrowser.Document;
get { return axWebBrowser.Document; }
}
public void RemoveAllChildren()
{
try
{
axWebBrowser.Document.Body.InnerHtml = "";
}
catch {}
}
public HtmlElement CreateHtmlElement(string elementName)
{
try
{
HtmlElement newElement = axWebBrowser.Document.CreateElement(elementName);
return newElement;
}
catch
{
return null;
}
}
public void RedrawContent()
{
for(int i = 0; i < toolbarButtons.Length; i++) {
for(int i = 0; i < toolbarButtons.Length; i++)
{
dynamicHelpToolbar.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]);
}
}
@ -337,7 +370,8 @@ namespace HtmlHelp2 @@ -337,7 +370,8 @@ namespace HtmlHelp2
Controls.Add(dynamicHelpToolbar);
dynamicHelpToolbar.Dock = DockStyle.Top;
dynamicHelpToolbar.AllowItemReorder = false;
for(int i = 0; i < toolbarButtons.Length; i++) {
for(int i = 0; i < toolbarButtons.Length; i++)
{
ToolStripButton button = new ToolStripButton();
button.ToolTipText = StringParser.Parse(toolbarButtons[i]);
button.ImageIndex = i;
@ -360,15 +394,15 @@ namespace HtmlHelp2 @@ -360,15 +394,15 @@ namespace HtmlHelp2
private void LoadDynamicHelpPage()
{
try {
try
{
string url = String.Format("{0}\\context.html",
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
if(!File.Exists(url)) url = "about:blank";
axWebBrowser.Navigate(url);
}
catch {
}
catch {}
}
private void ToolStripButtonClicked(object sender, EventArgs e)
@ -376,7 +410,8 @@ namespace HtmlHelp2 @@ -376,7 +410,8 @@ namespace HtmlHelp2
ToolStripItem item = (ToolStripItem)sender;
PadDescriptor pad = null;
switch(item.ImageIndex) {
switch(item.ImageIndex)
{
case 0:
pad = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
break;

85
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/FavoritesPad.cs

@ -16,9 +16,9 @@ namespace HtmlHelp2 @@ -16,9 +16,9 @@ namespace HtmlHelp2
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
public class ShowFavoritesMenuCommand : AbstractMenuCommand
{
public override void Run()
@ -27,8 +27,7 @@ namespace HtmlHelp2 @@ -27,8 +27,7 @@ namespace HtmlHelp2
if(favorites != null) favorites.BringPadToFront();
}
}
public class HtmlHelp2FavoritesPad : AbstractPadContent
{
const string help2FavoritesFile = "help2favorites.xml";
@ -46,14 +45,13 @@ namespace HtmlHelp2 @@ -46,14 +45,13 @@ namespace HtmlHelp2
public override Control Control
{
get {
return mainPanel;
}
get { return mainPanel; }
}
public override void RedrawContent()
{
for(int i = 0; i < toolbarButtons.Length; i++) {
for(int i = 0; i < toolbarButtons.Length; i++)
{
toolStrip.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]);
}
}
@ -84,7 +82,8 @@ namespace HtmlHelp2 @@ -84,7 +82,8 @@ namespace HtmlHelp2
toolStrip.Dock = DockStyle.Top;
toolStrip.Enabled = Help2EnvIsReady;
toolStrip.AllowItemReorder = false;
for(int i = 0; i < toolbarButtons.Length; i++) {
for(int i = 0; i < toolbarButtons.Length; i++)
{
ToolStripButton button = new ToolStripButton();
button.ToolTipText = StringParser.Parse(toolbarButtons[i]);
button.ImageIndex = i;
@ -123,8 +122,10 @@ namespace HtmlHelp2 @@ -123,8 +122,10 @@ namespace HtmlHelp2
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 != "") {
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);
}
}
@ -132,8 +133,10 @@ namespace HtmlHelp2 @@ -132,8 +133,10 @@ namespace HtmlHelp2
private void TreeViewKeyDown(object sender, KeyEventArgs e)
{
if(tv.SelectedNode != null) {
switch(e.KeyCode) {
if(tv.SelectedNode != null)
{
switch(e.KeyCode)
{
case Keys.F2:
tv.SelectedNode.BeginEdit();
break;
@ -149,7 +152,8 @@ namespace HtmlHelp2 @@ -149,7 +152,8 @@ namespace HtmlHelp2
{
TreeNode tn = tv.SelectedNode;
if(tn != null && tn.Tag != null && tn.Tag is string && (string)tn.Tag != "") {
if(tn != null && tn.Tag != null && tn.Tag is string && (string)tn.Tag != "")
{
ShowHelpBrowser.OpenHelpView((string)tn.Tag);
}
}
@ -163,7 +167,8 @@ namespace HtmlHelp2 @@ -163,7 +167,8 @@ namespace HtmlHelp2
ToolStripItem item = (ToolStripItem)sender;
TreeNode tempNode = null;
switch(item.ImageIndex) {
switch(item.ImageIndex)
{
case 0:
tempNode = (TreeNode)tv.SelectedNode.Clone();
tv.Nodes.Insert(tv.SelectedNode.PrevNode.Index, tempNode);
@ -190,7 +195,8 @@ namespace HtmlHelp2 @@ -190,7 +195,8 @@ namespace HtmlHelp2
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if(result == DialogResult.Yes) {
if(result == DialogResult.Yes)
{
tv.Nodes.Remove(tv.SelectedNode);
this.SaveFavorites();
}
@ -207,16 +213,19 @@ namespace HtmlHelp2 @@ -207,16 +213,19 @@ namespace HtmlHelp2
tv.Nodes.Clear();
tv.BeginUpdate();
try {
try
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(PropertyService.ConfigDirectory + help2FavoritesFile);
XmlNodeList nl = xmldoc.SelectNodes("favorites/favorite");
for(int i = 0; i < nl.Count; i++) {
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 != "") {
if(title != null && url != null && title.InnerText != "" && url.InnerText != "")
{
TreeNode node = new TreeNode();
node.Text = title.InnerText;
node.Tag = url.InnerText;
@ -224,20 +233,22 @@ namespace HtmlHelp2 @@ -224,20 +233,22 @@ namespace HtmlHelp2
}
}
}
catch {
}
catch {}
tv.EndUpdate();
}
private void SaveFavorites()
{
try {
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 != "") {
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");
@ -254,40 +265,44 @@ namespace HtmlHelp2 @@ -254,40 +265,44 @@ namespace HtmlHelp2
xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile);
}
catch {
}
catch {}
}
private void PatchFavoriteName(string newName, string topicUrl)
{
try {
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) {
if(node != null)
{
node.InnerText = newName;
xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile);
}
}
catch {
}
catch {}
}
public void AddToFavorites(string topicName, string topicUrl)
{
if(Help2EnvIsReady && topicName != "" && 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) {
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) {
if(!urlFound)
{
TreeNode node = new TreeNode();
node.Text = topicName;
node.Tag = topicUrl;

66
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs

@ -16,7 +16,8 @@ namespace HtmlHelp2 @@ -16,7 +16,8 @@ namespace HtmlHelp2
using AxMSHelpControls;
using MSHelpControls;
using MSHelpServices;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
using HtmlHelp2.ControlsValidation;
public class ShowIndexMenuCommand : AbstractMenuCommand
@ -28,16 +29,13 @@ namespace HtmlHelp2 @@ -28,16 +29,13 @@ namespace HtmlHelp2
}
}
public class HtmlHelp2IndexPad : AbstractPadContent
{
protected MsHelp2IndexControl help2IndexControl;
public override Control Control
{
get {
return help2IndexControl;
}
get { return help2IndexControl; }
}
public override void Dispose()
@ -57,7 +55,6 @@ namespace HtmlHelp2 @@ -57,7 +55,6 @@ namespace HtmlHelp2
}
}
public class MsHelp2IndexControl : UserControl
{
AxHxIndexCtrl indexControl = null;
@ -71,7 +68,8 @@ namespace HtmlHelp2 @@ -71,7 +68,8 @@ namespace HtmlHelp2
{
base.Dispose(disposing);
if(disposing && indexControl != null) {
if(disposing && indexControl != null)
{
indexControl.Dispose();
}
}
@ -84,10 +82,13 @@ namespace HtmlHelp2 @@ -84,10 +82,13 @@ namespace HtmlHelp2
public MsHelp2IndexControl()
{
bool Help2EnvIsReady = (HtmlHelp2Environment.IsReady && Help2ControlsValidation.IsIndexControlRegistered);
bool Help2EnvIsReady = (HtmlHelp2Environment.IsReady &&
Help2ControlsValidation.IsIndexControlRegistered);
if(Help2EnvIsReady) {
try {
if(Help2EnvIsReady)
{
try
{
indexControl = new AxHxIndexCtrl();
indexControl.BeginInit();
indexControl.Dock = DockStyle.Fill;
@ -101,7 +102,8 @@ namespace HtmlHelp2 @@ -101,7 +102,8 @@ namespace HtmlHelp2
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded);
}
catch {
catch
{
this.FakeHelpControl();
}
}
@ -161,7 +163,8 @@ namespace HtmlHelp2 @@ -161,7 +163,8 @@ namespace HtmlHelp2
public void LoadIndex()
{
try {
try
{
searchTerm.Text = "";
searchTerm.Items.Clear();
@ -170,22 +173,22 @@ namespace HtmlHelp2 @@ -170,22 +173,22 @@ namespace HtmlHelp2
HtmlHelp2Environment.BuildFilterList(filterCombobox);
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged);
}
catch {
}
catch {}
}
private void FilterChanged(object sender, EventArgs e)
{
string selectedString = filterCombobox.SelectedItem.ToString();
if(selectedString != "") {
try {
if(selectedString != "")
{
try
{
Cursor.Current = Cursors.WaitCursor;
indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString));
Cursor.Current = Cursors.Default;
}
catch {
}
catch {}
}
}
@ -195,7 +198,8 @@ namespace HtmlHelp2 @@ -195,7 +198,8 @@ namespace HtmlHelp2
indexControl.Refresh();
string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) {
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);
@ -211,14 +215,16 @@ namespace HtmlHelp2 @@ -211,14 +215,16 @@ namespace HtmlHelp2
private void SearchTextChanged(object sender, EventArgs e)
{
if(!itemClicked && searchTerm.Text != "") {
if(!itemClicked && searchTerm.Text != "")
{
indexControl.Selection = indexControl.IndexData.GetSlotFromString(searchTerm.Text);
}
}
private void KeyPressed(object sender, KeyPressEventArgs e)
{
if(e.KeyChar == (char)13) {
if(e.KeyChar == (char)13)
{
int indexSlot = indexControl.IndexData.GetSlotFromString(searchTerm.Text);
string indexTerm = indexControl.IndexData.GetFullStringFromSlot(indexSlot, ",");
@ -246,18 +252,19 @@ namespace HtmlHelp2 @@ -246,18 +252,19 @@ namespace HtmlHelp2
private void ShowSelectedItemEntry(string indexTerm, int indexSlot)
{
PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad));
if(indexResults == null) {
if(indexResults == null)
return;
}
try {
IHxTopicList matchingTopics = indexControl.IndexData.GetTopicsFromSlot(indexSlot);
try {
try
{
((HtmlHelp2IndexResultsPad)indexResults.PadContent).CleanUp();
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.BeginUpdate();
for(int i = 1; i <= matchingTopics.Count; i++) {
for(int i = 1; i <= matchingTopics.Count; i++)
{
IHxTopic topic = matchingTopics.ItemAt(i);
if(topic != null) {
@ -270,13 +277,15 @@ namespace HtmlHelp2 @@ -270,13 +277,15 @@ namespace HtmlHelp2
}
}
}
finally {
finally
{
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.EndUpdate();
((HtmlHelp2IndexResultsPad)indexResults.PadContent).SortLV(0);
((HtmlHelp2IndexResultsPad)indexResults.PadContent).SetStatusMessage(indexTerm);
}
switch(matchingTopics.Count) {
switch(matchingTopics.Count)
{
case 0:
break;
case 1:
@ -288,8 +297,7 @@ namespace HtmlHelp2 @@ -288,8 +297,7 @@ namespace HtmlHelp2
break;
}
}
catch {
}
catch {}
}
}
}

26
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs

@ -14,7 +14,7 @@ namespace HtmlHelp2 @@ -14,7 +14,7 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using MSHelpServices;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
public class ShowIndexResultsMenuCommand : AbstractMenuCommand
@ -26,7 +26,6 @@ namespace HtmlHelp2 @@ -26,7 +26,6 @@ namespace HtmlHelp2
}
}
public class HtmlHelp2IndexResultsPad : AbstractPadContent
{
ListView listView = new ListView();
@ -35,9 +34,7 @@ namespace HtmlHelp2 @@ -35,9 +34,7 @@ namespace HtmlHelp2
public override Control Control
{
get {
return listView;
}
get { return listView; }
}
public override void RedrawContent()
@ -47,9 +44,7 @@ namespace HtmlHelp2 @@ -47,9 +44,7 @@ namespace HtmlHelp2
public ListView IndexResultsListView
{
get {
return listView;
}
get { return listView; }
}
public HtmlHelp2IndexResultsPad()
@ -95,7 +90,8 @@ namespace HtmlHelp2 @@ -95,7 +90,8 @@ namespace HtmlHelp2
private void ListViewDoubleClick(object sender, EventArgs e)
{
ListViewItem lvi = listView.SelectedItems[0];
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) {
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic)
{
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag);
}
}
@ -107,7 +103,8 @@ namespace HtmlHelp2 @@ -107,7 +103,8 @@ namespace HtmlHelp2
public void CleanUp()
{
foreach(ListViewItem lvi in listView.Items) {
foreach(ListViewItem lvi in listView.Items)
{
if(lvi.Tag != null) { lvi.Tag = null; }
}
@ -122,7 +119,8 @@ namespace HtmlHelp2 @@ -122,7 +119,8 @@ namespace HtmlHelp2
* better if I could write what was searched and how many topics are
* matching.
*/
if(listView.Items.Count > 1) {
if(listView.Items.Count > 1)
{
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}",
new string[,]
{{"0", indexTerm},
@ -139,11 +137,13 @@ namespace HtmlHelp2 @@ -139,11 +137,13 @@ namespace HtmlHelp2
{
private int col;
public ListViewItemComparer(int column) {
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y) {
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}

79
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs

@ -13,8 +13,8 @@ namespace HtmlHelp2 @@ -13,8 +13,8 @@ namespace HtmlHelp2
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using HtmlHelp2Service;
using HtmlHelp2HelperDialog;
using HtmlHelp2.Environment;
using HtmlHelp2.HelperDialog;
using MSHelpServices;
@ -23,14 +23,14 @@ namespace HtmlHelp2 @@ -23,14 +23,14 @@ namespace HtmlHelp2
public override void Run()
{
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad));
if (search != null) {
if (search != null)
{
search.BringPadToFront();
((HtmlHelp2SearchPad)search.PadContent).FocusSearchTextBox();
}
}
}
public class HtmlHelp2SearchPad : AbstractPadContent
{
Panel mainPanel = new Panel();
@ -48,9 +48,7 @@ namespace HtmlHelp2 @@ -48,9 +48,7 @@ namespace HtmlHelp2
public override Control Control
{
get {
return mainPanel;
}
get { return mainPanel; }
}
public void FocusSearchTextBox()
@ -71,9 +69,7 @@ namespace HtmlHelp2 @@ -71,9 +69,7 @@ namespace HtmlHelp2
public bool HiliteEnabled
{
get {
return hiliteTopics.Checked;
}
get { return hiliteTopics.Checked; }
}
public HtmlHelp2SearchPad()
@ -137,7 +133,8 @@ namespace HtmlHelp2 @@ -137,7 +133,8 @@ namespace HtmlHelp2
filterCombobox.Enabled = HtmlHelp2Environment.IsReady;
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged);
if(HtmlHelp2Environment.IsReady) {
if(HtmlHelp2Environment.IsReady)
{
HtmlHelp2Environment.BuildFilterList(filterCombobox);
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded);
@ -171,12 +168,13 @@ namespace HtmlHelp2 @@ -171,12 +168,13 @@ namespace HtmlHelp2
private void FilterChanged(object sender, EventArgs e)
{
object selectedItem = filterCombobox.SelectedItem;
if(selectedItem != null) {
try {
if(selectedItem != null)
{
try
{
selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString());
}
catch {
}
catch {}
}
}
@ -186,7 +184,8 @@ namespace HtmlHelp2 @@ -186,7 +184,8 @@ namespace HtmlHelp2
mainPanel.Refresh();
string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) {
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0)
{
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged);
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName);
selectedQuery = HtmlHelp2Environment.CurrentFilterQuery;
@ -196,7 +195,8 @@ namespace HtmlHelp2 @@ -196,7 +195,8 @@ namespace HtmlHelp2
private void NamespaceReloaded(object sender, EventArgs e)
{
try {
try
{
searchTerm.Text = "";
searchTerm.Items.Clear();
@ -204,14 +204,14 @@ namespace HtmlHelp2 @@ -204,14 +204,14 @@ namespace HtmlHelp2
HtmlHelp2Environment.BuildFilterList(filterCombobox);
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged);
}
catch {
}
catch {}
}
#endregion
private void SearchButtonClick(object sender, EventArgs e)
{
if(searchTerm.Text != "") {
if(searchTerm.Text != "")
{
this.AddTermToList(searchTerm.Text);
this.PerformFTS(searchTerm.Text);
}
@ -224,7 +224,8 @@ namespace HtmlHelp2 @@ -224,7 +224,8 @@ namespace HtmlHelp2
private void KeyPressed(object sender, KeyPressEventArgs e)
{
if(e.KeyChar == (char)13 && searchTerm.Text != null) {
if(e.KeyChar == (char)13 && searchTerm.Text != null)
{
e.Handled = true;
this.AddTermToList(searchTerm.Text);
this.PerformFTS(searchTerm.Text);
@ -233,7 +234,8 @@ namespace HtmlHelp2 @@ -233,7 +234,8 @@ namespace HtmlHelp2
private void AddTermToList(string searchText)
{
if(searchTerm.Items.IndexOf(searchText) == -1) {
if(searchTerm.Items.IndexOf(searchText) == -1)
{
searchTerm.Items.Insert(0, searchText);
if(searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10);
searchTerm.SelectedIndex = 0;
@ -248,13 +250,13 @@ namespace HtmlHelp2 @@ -248,13 +250,13 @@ namespace HtmlHelp2
private void PerformFTS(string searchWord, bool useDynamicHelp)
{
if(!HtmlHelp2Environment.IsReady || searchIsBusy) {
if(!HtmlHelp2Environment.IsReady || searchIsBusy)
return;
}
HtmlHelp2SearchResultsView searchResults = HtmlHelp2SearchResultsView.Instance;
try {
try
{
searchIsBusy = true;
IHxTopicList matchingTopics = null;
@ -273,10 +275,12 @@ namespace HtmlHelp2 @@ -273,10 +275,12 @@ namespace HtmlHelp2
Cursor.Current = Cursors.WaitCursor;
if(useDynamicHelp) {
if(useDynamicHelp)
{
matchingTopics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchWord);
}
else {
else
{
matchingTopics = HtmlHelp2Environment.FTS.Query(searchWord, searchFlags);
}
@ -284,16 +288,20 @@ namespace HtmlHelp2 @@ -284,16 +288,20 @@ namespace HtmlHelp2
searchDialog.Dispose();
try {
try
{
searchResults.CleanUp();
searchResults.SearchResultsListView.BeginUpdate();
for(int i = 1; i <= matchingTopics.Count; i++) {
for(int i = 1; i <= matchingTopics.Count; i++)
{
IHxTopic topic = matchingTopics.ItemAt(i);
if(topic != null) {
if(topic != null)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName);
lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,
HxTopicGetTitleDefVal.HxTopicGetTitleFileName);
lvi.SubItems.Add(topic.Location);
lvi.SubItems.Add(topic.Rank.ToString());
lvi.Tag = topic;
@ -304,15 +312,15 @@ namespace HtmlHelp2 @@ -304,15 +312,15 @@ namespace HtmlHelp2
reuseMatches.Enabled = true;
}
finally {
finally
{
searchResults.SearchResultsListView.EndUpdate();
searchResults.SetStatusMessage(searchTerm.Text);
searchResults.BringPadToFront();
searchIsBusy = false;
}
}
catch {
}
catch {}
}
public bool PerformF1FTS(string keyword)
@ -322,9 +330,8 @@ namespace HtmlHelp2 @@ -322,9 +330,8 @@ namespace HtmlHelp2
public bool PerformF1FTS(string keyword, bool useDynamicHelp)
{
if(!HtmlHelp2Environment.IsReady || searchIsBusy) {
if(!HtmlHelp2Environment.IsReady || searchIsBusy)
return false;
}
this.PerformFTS(keyword, useDynamicHelp);

28
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs

@ -14,7 +14,8 @@ namespace HtmlHelp2 @@ -14,7 +14,8 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using MSHelpServices;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
public class HtmlHelp2SearchResultsView : UserControl
{
@ -25,8 +26,10 @@ namespace HtmlHelp2 @@ -25,8 +26,10 @@ namespace HtmlHelp2
static HtmlHelp2SearchResultsView instance;
public static HtmlHelp2SearchResultsView Instance {
get {
public static HtmlHelp2SearchResultsView Instance
{
get
{
if (instance == null)
instance = new HtmlHelp2SearchResultsView();
return instance;
@ -49,9 +52,7 @@ namespace HtmlHelp2 @@ -49,9 +52,7 @@ namespace HtmlHelp2
public ListView SearchResultsListView
{
get {
return listView;
}
get { return listView; }
}
public HtmlHelp2SearchResultsView()
@ -96,7 +97,8 @@ namespace HtmlHelp2 @@ -96,7 +97,8 @@ namespace HtmlHelp2
bool hiliteMatches = (search != null && ((HtmlHelp2SearchPad)search.PadContent).HiliteEnabled);
ListViewItem lvi = listView.SelectedItems[0];
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) {
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic)
{
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag, hiliteMatches);
}
}
@ -109,7 +111,8 @@ namespace HtmlHelp2 @@ -109,7 +111,8 @@ namespace HtmlHelp2
public void CleanUp()
{
foreach(ListViewItem lvi in listView.Items) {
foreach(ListViewItem lvi in listView.Items)
{
if(lvi.Tag != null) { lvi.Tag = null; }
}
@ -139,12 +142,15 @@ namespace HtmlHelp2 @@ -139,12 +142,15 @@ namespace HtmlHelp2
{
private int col;
public ListViewItemComparer(int column) {
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y) {
switch(col) {
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);

126
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs

@ -19,7 +19,9 @@ namespace HtmlHelp2 @@ -19,7 +19,9 @@ namespace HtmlHelp2
using AxMSHelpControls;
using MSHelpControls;
using MSHelpServices;
using HtmlHelp2Service;
using HtmlHelp2.Environment;
using HtmlHelp2.ControlsValidation;
using HtmlHelp2.ResourcesHelperClass;
public class ShowTocMenuCommand : AbstractMenuCommand
@ -31,25 +33,22 @@ namespace HtmlHelp2 @@ -31,25 +33,22 @@ namespace HtmlHelp2
}
}
public class HtmlHelp2TocPad : AbstractPadContent
{
protected MsHelp2TocControl help2TocControl;
public override Control Control
{
get {
return help2TocControl;
}
get { return help2TocControl; }
}
public override void Dispose()
{
try {
try
{
help2TocControl.Dispose();
}
catch {
}
catch {}
}
public override void RedrawContent()
@ -65,47 +64,42 @@ namespace HtmlHelp2 @@ -65,47 +64,42 @@ namespace HtmlHelp2
public void SyncToc(string topicUrl)
{
try {
try
{
help2TocControl.SynToc(topicUrl);
}
catch {
}
catch {}
}
public void GetPrevFromNode()
{
try {
try
{
help2TocControl.GetPrevFromNode();
}
catch {
}
catch {}
}
public void GetNextFromNode()
{
try {
try
{
help2TocControl.GetNextFromNode();
}
catch {
}
catch {}
}
public bool IsNotFirstNode
{
get {
return help2TocControl.IsNotFirstNode;
}
get { return help2TocControl.IsNotFirstNode; }
}
public bool IsNotLastNode
{
get {
return help2TocControl.IsNotLastNode;
}
get { return help2TocControl.IsNotLastNode; }
}
}
public class MsHelp2TocControl : UserControl
{
AxHxTocCtrl tocControl = null;
@ -119,7 +113,8 @@ namespace HtmlHelp2 @@ -119,7 +113,8 @@ namespace HtmlHelp2
{
base.Dispose(disposing);
if(disposing && tocControl != null) {
if(disposing && tocControl != null)
{
tocControl.Dispose();
}
}
@ -133,8 +128,10 @@ namespace HtmlHelp2 @@ -133,8 +128,10 @@ namespace HtmlHelp2
{
bool Help2EnvIsReady = (HtmlHelp2Environment.IsReady && Help2ControlsValidation.IsTocControlRegistered);
if(Help2EnvIsReady) {
try {
if(Help2EnvIsReady)
{
try
{
tocControl = new AxHxTocCtrl();
tocControl.BeginInit();
tocControl.Dock = DockStyle.Fill;
@ -158,11 +155,13 @@ namespace HtmlHelp2 @@ -158,11 +155,13 @@ namespace HtmlHelp2
printPopup.Items.Add(printChildTopics);
printChildTopics.Click += new EventHandler(this.PrintTopicAndSubtopics);
}
catch {
catch
{
this.FakeHelpControl();
}
}
else {
else
{
this.FakeHelpControl();
}
@ -185,7 +184,8 @@ namespace HtmlHelp2 @@ -185,7 +184,8 @@ namespace HtmlHelp2
label1.TextAlign = ContentAlignment.MiddleLeft;
label1.Enabled = Help2EnvIsReady;
if(Help2EnvIsReady) {
if(Help2EnvIsReady)
{
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(this.FilterQueryChanged);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded);
}
@ -203,28 +203,29 @@ namespace HtmlHelp2 @@ -203,28 +203,29 @@ namespace HtmlHelp2
public void LoadToc()
{
try {
try
{
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery);
filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged);
HtmlHelp2Environment.BuildFilterList(filterCombobox);
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged);
}
catch {
}
catch {}
}
private void FilterChanged(object sender, EventArgs e)
{
string selectedString = filterCombobox.SelectedItem.ToString();
if(selectedString != null && selectedString != "") {
try {
if(selectedString != null && selectedString != "")
{
try
{
Cursor.Current = Cursors.WaitCursor;
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString));
Cursor.Current = Cursors.Default;
}
catch {
}
catch {}
}
}
@ -234,7 +235,8 @@ namespace HtmlHelp2 @@ -234,7 +235,8 @@ namespace HtmlHelp2
tocControl.Refresh();
string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) {
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);
@ -250,7 +252,8 @@ namespace HtmlHelp2 @@ -250,7 +252,8 @@ namespace HtmlHelp2
private void CallHelp(string topicUrl, bool syncToc)
{
if(topicUrl != null && topicUrl != "") {
if(topicUrl != null && topicUrl != "")
{
if(syncToc) this.SynToc(topicUrl);
ShowHelpBrowser.OpenHelpView(topicUrl);
}
@ -265,7 +268,8 @@ namespace HtmlHelp2 @@ -265,7 +268,8 @@ namespace HtmlHelp2
#region Printing
private void TocNodeRightClicked(object sender, IHxTreeViewEvents_NodeRightClickEvent e)
{
if(e.hNode != 0) {
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) == "")?
@ -280,7 +284,8 @@ namespace HtmlHelp2 @@ -280,7 +284,8 @@ namespace HtmlHelp2
private void PrintTopic(object sender, EventArgs e)
{
if(tocControl.Selection != 0) {
if(tocControl.Selection != 0)
{
tocControl.Hierarchy.PrintNode(0,
tocControl.Selection,
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Node);
@ -289,7 +294,8 @@ namespace HtmlHelp2 @@ -289,7 +294,8 @@ namespace HtmlHelp2
private void PrintTopicAndSubtopics(object sender, EventArgs e)
{
if(tocControl.Selection != 0) {
if(tocControl.Selection != 0)
{
tocControl.Hierarchy.PrintNode(0,
tocControl.Selection,
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Children);
@ -300,43 +306,46 @@ namespace HtmlHelp2 @@ -300,43 +306,46 @@ namespace HtmlHelp2
#region published Help2 TOC Commands
public void SynToc(string topicUrl)
{
try {
try
{
tocControl.Synchronize(topicUrl);
}
catch {
}
catch {}
}
public void GetNextFromNode()
{
try {
try
{
int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection);
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(TopicUrl,true);
}
catch {
}
catch {}
}
public void GetPrevFromNode()
{
try {
try
{
int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection);
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(TopicUrl,true);
}
catch {
}
catch {}
}
public bool IsNotFirstNode
{
get {
try {
get
{
try
{
int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection);
return currentNode != 0;
}
catch {
catch
{
return true;
}
}
@ -344,12 +353,15 @@ namespace HtmlHelp2 @@ -344,12 +353,15 @@ namespace HtmlHelp2
public bool IsNotLastNode
{
get {
try {
get
{
try
{
int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection);
return currentNode != 0;
}
catch {
catch
{
return true;
}
}

12
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs

@ -19,14 +19,18 @@ namespace HtmlHelp2 @@ -19,14 +19,18 @@ namespace HtmlHelp2
{
public abstract class HelpToolbarCommand : AbstractCommand
{
public HtmlHelp2TocPad TocPad {
get {
public HtmlHelp2TocPad TocPad
{
get
{
return (HtmlHelp2TocPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)).PadContent;
}
}
public WebBrowser Browser {
get {
public WebBrowser Browser
{
get
{
return ((HtmlViewPane)Owner).WebBrowser;
}
}

12
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs

@ -40,7 +40,8 @@ namespace HtmlHelp2 @@ -40,7 +40,8 @@ namespace HtmlHelp2
lastTopic = topic;
BrowserPane help2Browser = GetActiveHelp2BrowserView();
if(help2Browser != null) {
if(help2Browser != null)
{
help2Browser.Load(topicUrl);
help2Browser.WorkbenchWindow.SelectWindow();
}
@ -49,13 +50,15 @@ namespace HtmlHelp2 @@ -49,13 +50,15 @@ namespace HtmlHelp2
public static BrowserPane GetActiveHelp2BrowserView()
{
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if(window != null) {
if(window != null)
{
BrowserPane browserPane = window.ActiveViewContent as BrowserPane;
if (browserPane != null && browserPane.Url.Scheme == "ms-help")
return browserPane;
}
foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) {
foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection)
{
BrowserPane browserPane = view as BrowserPane;
if (browserPane != null && browserPane.Url.Scheme == "ms-help")
return browserPane;
@ -72,7 +75,8 @@ namespace HtmlHelp2 @@ -72,7 +75,8 @@ namespace HtmlHelp2
public static void HighlightDocument(HtmlViewPane htmlViewPane)
{
if (hiliteMatches && lastTopic != null) {
if (hiliteMatches && lastTopic != null)
{
lastTopic.HighlightDocument(htmlViewPane.WebBrowser.Document.DomDocument);
}
}

18
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs

@ -4,26 +4,26 @@ @@ -4,26 +4,26 @@
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
namespace HtmlHelp2
{
using System;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
using HtmlHelp2.Environment;
public class BrowserScheme : DefaultSchemeExtension
{
public override void GoHome(HtmlViewPane pane)
{
pane.Navigate(HtmlHelp2Service.HtmlHelp2Environment.DefaultPage);
pane.Navigate(HtmlHelp2Environment.DefaultPage);
}
public override void GoSearch(HtmlViewPane pane)
{
// new ShowSearchMenuCommand().Run();
pane.Navigate(HtmlHelp2Service.HtmlHelp2Environment.SearchPage);
pane.Navigate(HtmlHelp2Environment.SearchPage);
}
public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e)

16
src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs

@ -4,20 +4,16 @@ @@ -4,20 +4,16 @@
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
namespace HtmlHelp2
{
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
public class MsHelpProvider : HelpProvider
{
// TODO: Implement MsHelpProvider
public override bool TryShowHelp(string fullTypeName)
{
LoggingService.Info("MsHelpProvider.TryShowHelp");

18
src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2ControlsValidation.cs

@ -5,38 +5,42 @@ @@ -5,38 +5,42 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2Service
namespace HtmlHelp2.ControlsValidation
{
using System;
using System.IO;
using Microsoft.Win32;
public sealed class Help2ControlsValidation
{
public static bool IsTocControlRegistered
{
get {
get
{
return IsClassRegistered("{314111b8-a502-11d2-bbca-00c04f8ec294}");
}
}
public static bool IsIndexControlRegistered
{
get {
get
{
return IsClassRegistered("{314111c6-a502-11d2-bbca-00c04f8ec294}");
}
}
private static bool IsClassRegistered(string classId)
{
try {
using (RegistryKey tempRegKey = Registry.ClassesRoot.OpenSubKey(String.Format("CLSID\\{0}\\InprocServer32", classId))) {
try
{
using (RegistryKey tempRegKey = Registry.ClassesRoot.OpenSubKey(String.Format("CLSID\\{0}\\InprocServer32", classId)))
{
string help2Dll = (string)tempRegKey.GetValue("");
return (help2Dll != null && help2Dll != "" && File.Exists(help2Dll));
}
}
catch {
catch
{
return false;
}
}

60
src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs

@ -5,35 +5,36 @@ @@ -5,35 +5,36 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2Service
namespace HtmlHelp2.RegistryWalker
{
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using MSHelpServices;
public sealed class Help2RegistryWalker
{
public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection)
{
if(help2Collections == null) {
if(help2Collections == null)
return;
}
help2Collections.Items.Clear();
help2Collections.BeginUpdate();
try {
try
{
string currentDescription = "";
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in namespaces) {
foreach(IHxRegNamespace currentNamespace in namespaces)
{
help2Collections.Items.Add((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription));
if(selectedHelp2Collection != "" && String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0) {
if(selectedHelp2Collection != "" && String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
{
currentDescription = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription);
}
}
@ -41,65 +42,76 @@ namespace HtmlHelp2Service @@ -41,65 +42,76 @@ namespace HtmlHelp2Service
if(currentDescription != "") help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription);
else help2Collections.SelectedIndex = 0;
}
catch {
}
catch {}
help2Collections.EndUpdate();
}
public static string GetNamespaceName(string namespaceDescription)
{
try {
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) {
foreach(IHxRegNamespace currentNamespace in namespaces)
{
if(String.Compare(namespaceDescription, (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)) == 0)
{
return currentNamespace.Name;
}
}
return "";
}
catch {
catch
{
return "";
}
}
public static string GetFirstNamespace(string namespaceName)
{
try {
try
{
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in namespaces) {
if(String.Compare(namespaceName, currentNamespace.Name) == 0) {
foreach(IHxRegNamespace currentNamespace in namespaces)
{
if(String.Compare(namespaceName, currentNamespace.Name) == 0)
{
return namespaceName;
}
}
return namespaces.ItemAt(1).Name;
}
catch {
catch
{
return "";
}
}
public static string GetFirstMatchingNamespaceName(string matchingNamespaceName)
{
if(matchingNamespaceName == "") {
if(matchingNamespaceName == "")
return "";
}
try {
try
{
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList nl = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in nl) {
if(PathMatchSpec(currentNamespace.Name, matchingNamespaceName)) {
foreach(IHxRegNamespace currentNamespace in nl)
{
if(PathMatchSpec(currentNamespace.Name, matchingNamespaceName))
{
return currentNamespace.Name;
}
}
}
catch {
}
catch {}
return "";
}

28
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Dialog.cs

@ -5,22 +5,22 @@ @@ -5,22 +5,22 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2HelperDialog
namespace HtmlHelp2.HelperDialog
{
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 {
get { return this.icon; }
set
{
this.icon = value;
base.Image = this.icon.ToBitmap();
}
@ -39,22 +39,14 @@ namespace HtmlHelp2HelperDialog @@ -39,22 +39,14 @@ namespace HtmlHelp2HelperDialog
public string ActionLabel
{
get {
return actionLabel.Text;
}
set {
actionLabel.Text = value;
}
get { return actionLabel.Text; }
set { actionLabel.Text = value; }
}
public Icon ActionIcon
{
get {
return pictureBox1.Icon;
}
set {
pictureBox1.Icon = value;
}
get { return pictureBox1.Icon; }
set { pictureBox1.Icon = value; }
}
public HtmlHelp2Dialog()

38
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2Service
namespace HtmlHelp2.OptionsPanel
{
using System;
using System.Drawing;
@ -17,6 +17,8 @@ namespace HtmlHelp2Service @@ -17,6 +17,8 @@ namespace HtmlHelp2Service
using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using HtmlHelp2.Environment;
using HtmlHelp2.RegistryWalker;
using MSHelpServices;
public class HtmlHelp2OptionsPanel : AbstractOptionPanel
@ -45,7 +47,8 @@ namespace HtmlHelp2Service @@ -45,7 +47,8 @@ namespace HtmlHelp2Service
{
Help2EnvIsReady = HtmlHelp2Environment.IsReady;
try {
try
{
help2Collections = (ComboBox)ControlDictionary["help2Collections"];
help2Collections.Enabled = Help2EnvIsReady;
help2Collections.SelectedIndexChanged += new EventHandler(this.NamespaceNameChanged);
@ -53,24 +56,25 @@ namespace HtmlHelp2Service @@ -53,24 +56,25 @@ namespace HtmlHelp2Service
Help2RegistryWalker.BuildNamespacesList(help2Collections, selectedHelp2Collection);
}
catch {
}
catch {}
}
private void NamespaceNameChanged(object sender, EventArgs e)
{
if(help2Collections.SelectedItem != null) {
try {
if(help2Collections.SelectedItem != null)
{
try
{
selectedHelp2Collection = Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString());
}
catch {
}
catch {}
}
}
private void SaveHelp2Config()
{
try {
try
{
XmlDocument xmldoc = new XmlDocument();
XmlNode node = null;
XmlCDataSection cdata = null;
@ -83,26 +87,30 @@ namespace HtmlHelp2Service @@ -83,26 +87,30 @@ namespace HtmlHelp2Service
xmldoc.Save(PropertyService.ConfigDirectory + help2EnvironmentFile);
}
catch {
}
catch {}
}
#region ReRegister
void ReregisterButtonClick(object sender, EventArgs e)
{
new MethodInvoker(DoReregister).BeginInvoke(null, null);
}
void DoReregister()
{
try {
try
{
ProcessStartInfo info = new ProcessStartInfo("cmd", "/c call echo Unregistering... & unregister.bat & echo. & echo Registering... & call register.bat & pause");
info.WorkingDirectory = Path.Combine(FileUtility.SharpDevelopRootPath, "bin\\setup\\help");
Process p = Process.Start(info);
p.WaitForExit(45000);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(HtmlHelp2Environment), "ReloadNamespace");
} catch (Exception ex) {
}
catch (Exception ex)
{
MessageService.ShowError(ex);
}
}
#endregion
}
}

133
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs

@ -5,15 +5,15 @@ @@ -5,15 +5,15 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2Service
namespace HtmlHelp2.Environment
{
using System;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Core;
using MSHelpServices;
using HtmlHelp2HelperDialog;
using HtmlHelp2.RegistryWalker;
using HtmlHelp2.HelperDialog;
public sealed class HtmlHelp2Environment
{
@ -43,73 +43,57 @@ namespace HtmlHelp2Service @@ -43,73 +43,57 @@ namespace HtmlHelp2Service
#region Properties
public static bool IsReady
{
get {
return session != null;
}
get { return session != null; }
}
public static string CurrentSelectedNamespace
{
get {
return DefaultNamespaceName;
}
get { return DefaultNamespaceName; }
}
public static string CurrentFilterQuery
{
get {
return currentSelectedFilterQuery;
}
get { return currentSelectedFilterQuery; }
}
public static string CurrentFilterName
{
get {
return currentSelectedFilterName;
}
get { return currentSelectedFilterName; }
}
public static string DefaultPage
{
get {
return defaultPage;
}
get { return defaultPage; }
}
public static string SearchPage
{
get {
return searchPage;
}
get { return searchPage; }
}
public static IHxQuery FTS
{
get {
return fulltextSearch;
}
get { return fulltextSearch; }
}
public static bool DynamicHelpIsBusy
{
get {
return dynamicHelpIsBusy;
}
get { return dynamicHelpIsBusy; }
}
#endregion
#region Namespace Functions
private static void LoadHelp2Config()
{
try {
try
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(PropertyService.ConfigDirectory + help2EnvironmentFile);
XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection");
if(node != null) DefaultNamespaceName = node.InnerText;
}
catch {
}
catch {}
}
public static void ReloadNamespace()
@ -122,13 +106,13 @@ namespace HtmlHelp2Service @@ -122,13 +106,13 @@ namespace HtmlHelp2Service
private static void InitializeNamespace(string namespaceName)
{
if(namespaceName == null || namespaceName == "") {
if(namespaceName == null || namespaceName == "")
return;
}
if(session != null) session = null;
try {
try
{
currentSelectedFilterQuery = "";
currentSelectedFilterName = "";
@ -148,27 +132,32 @@ namespace HtmlHelp2Service @@ -148,27 +132,32 @@ namespace HtmlHelp2Service
initDialog.Dispose();
}
catch {
catch
{
session = null;
}
}
private static void ReloadFTSSystem()
{
try {
try
{
fulltextSearch = (IHxQuery)session.GetNavigationInterface("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid);
}
catch {
catch
{
fulltextSearch = null;
}
}
private static void ReloadDynamicHelpSystem()
{
try {
try
{
dynamicHelp = (IHxQuery)session.GetNavigationInterface("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref QueryGuid);
}
catch {
catch
{
dynamicHelp = null;
}
}
@ -183,46 +172,54 @@ namespace HtmlHelp2Service @@ -183,46 +172,54 @@ namespace HtmlHelp2Service
{
string resultString = "";
try {
try
{
IHxIndex namedUrlIndex = (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", "", ref IndexGuid);
IHxTopicList topics = null;
topics = namedUrlIndex.GetTopicsFromString(pageName, 0);
if(topics.Count == 0 && (alternatePageName != null && alternatePageName != "")) {
if(topics.Count == 0 && (alternatePageName != null && alternatePageName != ""))
{
topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0);
}
if(topics.Count > 0)
resultString = topics.ItemAt(1).URL;
if (resultString == null || resultString.Length == 0)
resultString = defaultValue;
return resultString;
}
catch {
catch
{
return defaultValue;
}
}
public static IHxHierarchy GetTocHierarchy(string filterQuery)
{
try {
try
{
IHxHierarchy defaultToc = (IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid);
return defaultToc;
}
catch {
catch
{
return null;
}
}
public static IHxIndex GetIndex(string filterQuery)
{
try {
try
{
IHxIndex defaultIndex = (IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex", filterQuery, ref IndexGuid);
return defaultIndex;
}
catch {
catch
{
return null;
}
}
@ -232,36 +229,40 @@ namespace HtmlHelp2Service @@ -232,36 +229,40 @@ namespace HtmlHelp2Service
filterCombobox.Items.Clear();
filterCombobox.BeginUpdate();
try {
for(int i = 1; i <= namespaceFilters.Count; i++) {
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) {
if(currentSelectedFilterName == "" && i == 1)
{
currentSelectedFilterName = filterName;
}
}
if(namespaceFilters.Count == 0) filterCombobox.Items.Add(StringParser.Parse("${res:AddIns.HtmlHelp2.DefaultEmptyFilter}"));
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 {
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) {
if(String.Compare(filterName, currentSelectedFilterName) == 0)
return currentSelectedFilterQuery;
}
try {
try
{
IHxRegFilter filter = namespaceFilters.FindFilter(filterName);
currentSelectedFilterQuery = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterQuery);
currentSelectedFilterQuery = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterQuery);
currentSelectedFilterName = filterName;
OnFilterQueryChanged(EventArgs.Empty);
@ -271,23 +272,25 @@ namespace HtmlHelp2Service @@ -271,23 +272,25 @@ namespace HtmlHelp2Service
ReloadDefaultPages();
return currentSelectedFilterQuery;
}
catch {
catch
{
return "";
}
}
public static IHxTopicList GetMatchingTopicsForDynamicHelp(string searchTerm)
{
if(dynamicHelpIsBusy) {
if(dynamicHelpIsBusy)
return null;
}
try {
try
{
dynamicHelpIsBusy = true;
IHxTopicList topics = ((IHxIndex)dynamicHelp).GetTopicsFromString(searchTerm, 0);
return topics;
}
finally {
finally
{
dynamicHelpIsBusy = false;
}
}
@ -299,14 +302,16 @@ namespace HtmlHelp2Service @@ -299,14 +302,16 @@ namespace HtmlHelp2Service
private static void OnFilterQueryChanged(EventArgs e)
{
if(FilterQueryChanged != null) {
if(FilterQueryChanged != null)
{
FilterQueryChanged(null, e);
}
}
private static void OnNamespaceReloaded(EventArgs e)
{
if(NamespaceReloaded != null) {
if(NamespaceReloaded != null)
{
NamespaceReloaded(null, e);
}
}

2
src/AddIns/Misc/HtmlHelp2/Project/src/Service/ResourcesHelper.cs

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
* Copyright (c) 2005, Mathias Simmack. All rights reserved.
*
* ********************************************************* */
namespace HtmlHelp2Service
namespace HtmlHelp2.ResourcesHelperClass
{
using System;
using System.Drawing;

Loading…
Cancel
Save