Browse Source

Help 2.0: fixed a bug when selecting the previous or next topic button (browser) with a hidden TOC control; there was an exception because, of course, there was no selection in the TOC control. Now I use the Get*FromUrl method with the current browser URL. btw: some other things changed

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@534 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mathias Simmack 21 years ago
parent
commit
23a9e07147
  1. 34
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  2. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/FavoritesPad.cs
  3. 32
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  4. 18
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
  5. 5
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
  6. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs

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

@ -8,15 +8,11 @@
namespace HtmlHelp2 namespace HtmlHelp2
{ {
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Drawing; using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms; using System.Windows.Forms;
using System.Reflection; using System.Reflection;
using System.IO;
using System.Xml;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
@ -59,8 +55,10 @@ namespace HtmlHelp2
public HtmlHelp2DynamicHelpPad() public HtmlHelp2DynamicHelpPad()
{ {
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl(this.enableDebugInfo); dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl();
dynamicHelpBrowser.LoadDynamicHelpPage();
dynamicHelpBrowser.BuildANothing(); dynamicHelpBrowser.BuildANothing();
ParserService.ParserUpdateStepFinished += UpdateTick; ParserService.ParserUpdateStepFinished += UpdateTick;
PropertyPad.SelectedObjectChanged += new EventHandler(this.FormsDesignerSelectedObjectChanged); PropertyPad.SelectedObjectChanged += new EventHandler(this.FormsDesignerSelectedObjectChanged);
PropertyPad.SelectedGridItemChanged += new SelectedGridItemChangedEventHandler(this.FormsDesignerSelectedGridItemChanged); PropertyPad.SelectedGridItemChanged += new SelectedGridItemChangedEventHandler(this.FormsDesignerSelectedGridItemChanged);
@ -316,8 +314,8 @@ namespace HtmlHelp2
public class HtmlHelp2DynamicHelpBrowserControl : UserControl public class HtmlHelp2DynamicHelpBrowserControl : UserControl
{ {
WebBrowser axWebBrowser = null; WebBrowser axWebBrowser = new WebBrowser();
ToolStrip dynamicHelpToolbar = null; ToolStrip dynamicHelpToolbar = new ToolStrip();
int internalIndex = 0; int internalIndex = 0;
string[] toolbarButtons = new string[] { string[] toolbarButtons = new string[] {
"${res:AddIns.HtmlHelp2.Contents}", "${res:AddIns.HtmlHelp2.Contents}",
@ -335,28 +333,20 @@ namespace HtmlHelp2
public HtmlHelp2DynamicHelpBrowserControl() public HtmlHelp2DynamicHelpBrowserControl()
{ {
this.InitializeComponents(false); this.InitializeComponents();
} }
public HtmlHelp2DynamicHelpBrowserControl(bool enableDebugging) private void InitializeComponents()
{
this.InitializeComponents(enableDebugging);
}
private void InitializeComponents(bool enableDebugging)
{ {
Dock = DockStyle.Fill; Dock = DockStyle.Fill;
Size = new Size(500, 500); Size = new Size(500, 500);
axWebBrowser = new WebBrowser();
Controls.Add(axWebBrowser); Controls.Add(axWebBrowser);
axWebBrowser.Dock = DockStyle.Fill; axWebBrowser.Dock = DockStyle.Fill;
axWebBrowser.WebBrowserShortcutsEnabled = enableDebugging; axWebBrowser.WebBrowserShortcutsEnabled = false;
axWebBrowser.IsWebBrowserContextMenuEnabled = enableDebugging; axWebBrowser.IsWebBrowserContextMenuEnabled = false;
axWebBrowser.AllowWebBrowserDrop = enableDebugging; axWebBrowser.AllowWebBrowserDrop = false;
this.LoadDynamicHelpPage();
dynamicHelpToolbar = new ToolStrip();
Controls.Add(dynamicHelpToolbar); Controls.Add(dynamicHelpToolbar);
dynamicHelpToolbar.Dock = DockStyle.Top; dynamicHelpToolbar.Dock = DockStyle.Top;
dynamicHelpToolbar.AllowItemReorder = false; dynamicHelpToolbar.AllowItemReorder = false;
@ -384,11 +374,10 @@ namespace HtmlHelp2
} }
} }
private void LoadDynamicHelpPage() public void LoadDynamicHelpPage()
{ {
if(!HtmlHelp2Environment.IsReady) return; if(!HtmlHelp2Environment.IsReady) return;
string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location); string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
//if(!File.Exists(url)) url = "about:blank";
axWebBrowser.Navigate(url); axWebBrowser.Navigate(url);
} }
@ -483,7 +472,6 @@ namespace HtmlHelp2
HtmlElement img = axWebBrowser.Document.CreateElement("img"); HtmlElement img = axWebBrowser.Document.CreateElement("img");
img.Style = "width:16px;height:16px;margin-right:5px"; img.Style = "width:16px;height:16px;margin-right:5px";
img.Id = String.Format("image_{0}", this.internalIndex.ToString()); img.Id = String.Format("image_{0}", this.internalIndex.ToString());
// img.SetAttribute("src", "OpenBook.png");
img.SetAttribute("src", "open"); img.SetAttribute("src", "open");
span.AppendChild(img); span.AppendChild(img);

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

@ -17,6 +17,7 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using HtmlHelp2.Environment; using HtmlHelp2.Environment;
using HtmlHelp2.ResourcesHelperClass;
public class ShowFavoritesMenuCommand : AbstractMenuCommand public class ShowFavoritesMenuCommand : AbstractMenuCommand

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

@ -68,11 +68,21 @@ namespace HtmlHelp2
if(help2TocControl.IsEnabled) help2TocControl.GetPrevFromNode(); if(help2TocControl.IsEnabled) help2TocControl.GetPrevFromNode();
} }
public void GetPrevFromUrl(string topicUrl)
{
if(help2TocControl.IsEnabled) help2TocControl.GetPrevFromUrl(topicUrl);
}
public void GetNextFromNode() public void GetNextFromNode()
{ {
if(help2TocControl.IsEnabled) help2TocControl.GetNextFromNode(); if(help2TocControl.IsEnabled) help2TocControl.GetNextFromNode();
} }
public void GetNextFromUrl(string topicUrl)
{
if(help2TocControl.IsEnabled) help2TocControl.GetNextFromUrl(topicUrl);
}
public bool IsNotFirstNode public bool IsNotFirstNode
{ {
get { return help2TocControl.IsNotFirstNode; } get { return help2TocControl.IsNotFirstNode; }
@ -294,15 +304,29 @@ namespace HtmlHelp2
public void GetNextFromNode() public void GetNextFromNode()
{ {
int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection); int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection);
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); string topicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(TopicUrl,true); this.CallHelp(topicUrl, true);
}
public void GetNextFromUrl(string url)
{
int currentNode = tocControl.Hierarchy.GetNextFromUrl(url);
string topicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(topicUrl, true);
} }
public void GetPrevFromNode() public void GetPrevFromNode()
{ {
int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection); int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection);
string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); string topicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(TopicUrl,true); this.CallHelp(topicUrl, true);
}
public void GetPrevFromUrl(string url)
{
int currentNode = tocControl.Hierarchy.GetPrevFromUrl(url);
string topicUrl = tocControl.Hierarchy.GetURL(currentNode);
this.CallHelp(topicUrl, true);
} }
public bool IsNotFirstNode public bool IsNotFirstNode

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

@ -54,7 +54,14 @@ namespace HtmlHelp2
{ {
public override void Run() public override void Run()
{ {
TocPad.GetPrevFromNode(); try
{
TocPad.GetPrevFromNode();
}
catch
{
TocPad.GetPrevFromUrl(Browser.Url.ToString());
}
BringTocPadToFront(); BringTocPadToFront();
} }
} }
@ -63,7 +70,14 @@ namespace HtmlHelp2
{ {
public override void Run() public override void Run()
{ {
TocPad.GetNextFromNode(); try
{
TocPad.GetNextFromNode();
}
catch
{
TocPad.GetNextFromUrl(Browser.Url.ToString());
}
BringTocPadToFront(); BringTocPadToFront();
} }
} }

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

@ -34,6 +34,11 @@ namespace HtmlHelp2
OpenHelpView(topicUrl, null, false); OpenHelpView(topicUrl, null, false);
} }
public static void OpenHelpView(string topicUrl, bool hiliteMatchingWords)
{
OpenHelpView(topicUrl, null, hiliteMatchingWords);
}
public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords) public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords)
{ {
hiliteMatches = hiliteMatchingWords; hiliteMatches = hiliteMatchingWords;

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

@ -23,7 +23,6 @@ namespace HtmlHelp2
public override void GoSearch(HtmlViewPane pane) public override void GoSearch(HtmlViewPane pane)
{ {
// new ShowSearchMenuCommand().Run();
pane.Navigate(HtmlHelp2Environment.SearchPage); pane.Navigate(HtmlHelp2Environment.SearchPage);
} }

Loading…
Cancel
Save