Browse Source

Help 2.0: a lot of changes in the code

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1521 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mathias Simmack 19 years ago
parent
commit
e1c75232e5
  1. 2
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj
  2. 21
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2Options.xfrm
  3. 4
      src/AddIns/Misc/HtmlHelp2/Project/Resources/context.html
  4. 304
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  5. 16
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs
  6. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  7. 26
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs
  8. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
  9. 4
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  10. 8
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2ControlsValidation.cs
  11. 89
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
  12. 37
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs
  13. 145
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
  14. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/ResourcesHelper.cs
  15. 4
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/SharpDevLanguageClass.cs

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

@ -88,7 +88,7 @@ @@ -88,7 +88,7 @@
<None 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" />
<None Include="Resources\HtmlHelp2.16x16.AddToFavorites.png" />
<Compile Include="src\BrowserControl\HelpBrowserCommands.cs" />
<Compile Include="src\BrowserScheme.cs" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Print.bmp" />

21
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2Options.xfrm

@ -7,19 +7,10 @@ @@ -7,19 +7,10 @@
<Name value="groupBox1" />
<Location value="{X=8, Y=8}" />
<Text value="${res:AddIns.HtmlHelp2.Options.Groupbox}" />
<Size value="{Width=344, Height=124}" />
<Size value="{Width=344, Height=112}" />
<TabIndex value="0" />
<Anchor value="Top, Left, Right" />
<Controls>
<!-- ReRegisterButton
<System.Windows.Forms.Button>
<Name value="reregisterButton" />
<Location value="{X=73,Y=107}" />
<Text value="${res:AddIns.HtmlHelp2.Options.Reregister}" />
<Size value="{Width=204, Height=23}" />
<Anchor value="Top" />
<TabIndex value="2" />
</System.Windows.Forms.Button> -->
<System.Windows.Forms.ComboBox>
<Name value="help2Collections" />
<TabIndex value="1" />
@ -27,7 +18,7 @@ @@ -27,7 +18,7 @@
<Size value="{Width=312, Height=21}" />
<FormattingEnabled value="True" />
<DropDownStyle value="DropDownList" />
<Location value="{X=16,Y=80}" />
<Location value="{X=16, Y=75}" />
</System.Windows.Forms.ComboBox>
<System.Windows.Forms.Label>
<Name value="label1" />
@ -41,9 +32,9 @@ @@ -41,9 +32,9 @@
</System.Windows.Forms.GroupBox>
<System.Windows.Forms.GroupBox>
<Name value="groupBox2" />
<Location value="{X=8, Y=145}" />
<Location value="{X=8, Y=130}" />
<Text value="${res:AddIns.HtmlHelp2.Options.AdditionOptions}" />
<Size value="{Width=344, Height=124}" />
<Size value="{Width=344, Height=55}" />
<TabIndex value="1" />
<Anchor value="Top, Left, Right" />
<Controls>
@ -51,8 +42,8 @@ @@ -51,8 +42,8 @@
<Name value="tocPictures" />
<TabIndex value="0" />
<Anchor value="Top, Left, Right" />
<Size value="{Width=312, Height=45}" />
<Location value="{X=16, Y=15}" />
<Size value="{Width=312, Height=23}" />
<Location value="{X=16, Y=20}" />
<Text value="${res:AddIns.HtmlHelp2.Options.ShowTocPictures}" />
</System.Windows.Forms.CheckBox>
</Controls>

4
src/AddIns/Misc/HtmlHelp2/Project/Resources/context.html

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
<title>Dynamic Help</title>
<STYLE><!--
.ctxbody {
body {
overflow-y: auto;
margin: 5px 5px 5px 5px;
font-family: Tahoma;
@ -44,5 +44,5 @@ @@ -44,5 +44,5 @@
--></script>
</head>
<body class="ctxbody"></body>
<body></body>
</html>

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

@ -41,7 +41,7 @@ namespace HtmlHelp2 @@ -41,7 +41,7 @@ namespace HtmlHelp2
private StringCollection dynamicHelpTerms = new StringCollection();
private Point lastPoint = Point.Empty;
private string debugPreElement = String.Empty;
private bool enableDebugInfo = false;
private bool enableDebugInfo = HtmlHelp2Environment.Config.DynamicHelpDebugInfos;
public override Control Control
{
@ -57,66 +57,75 @@ namespace HtmlHelp2 @@ -57,66 +57,75 @@ namespace HtmlHelp2
{
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl();
dynamicHelpBrowser.LoadDynamicHelpPage();
// while (!dynamicHelpBrowser.BrowserIsReady) {}
// dynamicHelpBrowser.BuildANothing();
ParserService.ParserUpdateStepFinished += UpdateTick;
PropertyPad.SelectedObjectChanged += new EventHandler(this.FormsDesignerSelectedObjectChanged);
PropertyPad.SelectedGridItemChanged += new SelectedGridItemChangedEventHandler(this.FormsDesignerSelectedGridItemChanged);
ProjectService.SolutionClosed += new EventHandler(this.SolutionClosed);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded);
}
#region Dynamic Help Calls
private void BuildDynamicHelpList()
{
if (this.dynamicHelpTerms.Count == 0) return;
dynamicHelpBrowser.RemoveAllChildren();
this.debugPreElement = String.Empty;
bool helpResults = false;
Cursor.Current = Cursors.WaitCursor;
foreach (string currentHelpTerm in this.dynamicHelpTerms)
try
{
if (!currentHelpTerm.StartsWith("!"))
dynamicHelpBrowser.RemoveAllChildren();
this.debugPreElement = string.Empty;
bool helpResults = false;
Cursor.Current = Cursors.WaitCursor;
foreach (string currentHelpTerm in this.dynamicHelpTerms)
{
helpResults = (this.CallDynamicHelp(currentHelpTerm, false) || helpResults);
if (!currentHelpTerm.StartsWith("!"))
{
helpResults = (this.CallDynamicHelp(currentHelpTerm, false) || helpResults);
}
}
}
foreach (string currentHelpTerm in this.dynamicHelpTerms)
{
if (currentHelpTerm.StartsWith("!"))
foreach (string currentHelpTerm in this.dynamicHelpTerms)
{
helpResults = (this.CallDynamicHelp(currentHelpTerm.Substring(1), true) || helpResults);
if (currentHelpTerm.StartsWith("!"))
{
helpResults = (this.CallDynamicHelp(currentHelpTerm.Substring(1)) || helpResults);
}
}
Cursor.Current = Cursors.Default;
// debug info
if (this.enableDebugInfo)
{
this.debugPreElement +=
string.Format("<br>Current project language: {0}", SharpDevLanguage.GetPatchedLanguage());
dynamicHelpBrowser.CreateDebugPre(this.debugPreElement);
}
}
if (!helpResults)
catch (Exception ex)
{
dynamicHelpBrowser.BuildANothing();
LoggingService.Error("Help 2.0: Dynamic Help Call Exception; " + ex.ToString());
}
Cursor.Current = Cursors.Default;
this.debugPreElement += String.Format("<br>Current project language: {0}",
SharpDevLanguage.GetPatchedLanguage());
if (this.enableDebugInfo) dynamicHelpBrowser.CreateDebugPre(this.debugPreElement);
}
private bool CallDynamicHelp(string searchTerm)
{
return this.CallDynamicHelp(searchTerm, true);
}
private bool CallDynamicHelp(string searchTerm, bool keywordSearch)
{
if (!HtmlHelp2Environment.IsReady || HtmlHelp2Environment.DynamicHelpIsBusy) return false;
bool result = false;
IHxTopicList topics = null;
try
if (!HtmlHelp2Environment.IsReady || HtmlHelp2Environment.DynamicHelpIsBusy)
{
topics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchTerm);
result = (topics != null && topics.Count > 0);
this.debugPreElement += String.Format("{0} ({1}): {2} {3}<br>",
searchTerm, (keywordSearch)?"Kwd":"DH",
topics.Count.ToString(), (topics.Count == 1)?"topic":"topics");
return false;
}
catch {}
IHxTopicList topics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchTerm);
bool result = (topics != null && topics.Count > 0);
// debug info
this.debugPreElement +=
string.Format("{0} ({1}): {2} {3}<br>", searchTerm, (keywordSearch)?"Kwd":"DH",
topics.Count, (topics.Count==1)?"topic":"topics");
if (result)
{
@ -245,7 +254,6 @@ namespace HtmlHelp2 @@ -245,7 +254,6 @@ namespace HtmlHelp2
private void SolutionClosed(object sender, EventArgs e)
{
dynamicHelpBrowser.RemoveAllChildren();
dynamicHelpBrowser.BuildANothing();
}
#region StringCollection & Sorting
@ -267,25 +275,18 @@ namespace HtmlHelp2 @@ -267,25 +275,18 @@ namespace HtmlHelp2
private List<IHxTopic> SortTopics(IHxTopicList topics)
{
List<IHxTopic> result = new List<IHxTopic>();
try
if (topics == null || topics.Count == 0)
{
if (topics != null && topics.Count > 0)
{
foreach (IHxTopic topic in topics)
{
if (!result.Contains(topic)) result.Add(topic);
}
TopicComparer topicComparer = new TopicComparer();
result.Sort(topicComparer);
}
return null;
}
catch(Exception ex)
List<IHxTopic> result = new List<IHxTopic>();
foreach (IHxTopic topic in topics)
{
LoggingService.Error("Help 2.0: error while rebuild topics; " + ex.ToString());
if (!result.Contains(topic)) result.Add(topic);
}
TopicComparer topicComparer = new TopicComparer();
result.Sort(topicComparer);
return result;
}
@ -313,6 +314,11 @@ namespace HtmlHelp2 @@ -313,6 +314,11 @@ namespace HtmlHelp2
}
}
#endregion
private void NamespaceReloaded(object sender, EventArgs e)
{
this.enableDebugInfo = HtmlHelp2Environment.Config.DynamicHelpDebugInfos;
}
}
public class HtmlHelp2DynamicHelpBrowserControl : UserControl
@ -330,7 +336,7 @@ namespace HtmlHelp2 @@ -330,7 +336,7 @@ namespace HtmlHelp2
{
for (int i = 0; i < toolbarButtons.Length; i++)
{
dynamicHelpToolbar.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]);
dynamicHelpToolbar.Items[i].Text = StringParser.Parse(toolbarButtons[i]);
}
}
@ -361,12 +367,14 @@ namespace HtmlHelp2 @@ -361,12 +367,14 @@ namespace HtmlHelp2
for (int i = 0; i < toolbarButtons.Length; i++)
{
ToolStripButton button = new ToolStripButton();
button.Text = StringParser.Parse(toolbarButtons[i]);
button.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
button.ImageIndex = i;
button.Click += new EventHandler(this.ToolStripButtonClicked);
dynamicHelpToolbar.Items.Add(button);
}
this.RedrawContent();
dynamicHelpToolbar.ImageList = new ImageList();
dynamicHelpToolbar.ImageList.ColorDepth = ColorDepth.Depth32Bit;
@ -382,16 +390,18 @@ namespace HtmlHelp2 @@ -382,16 +390,18 @@ namespace HtmlHelp2
public void LoadDynamicHelpPage()
{
if (!HtmlHelp2Environment.IsReady) return;
string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
if (!HtmlHelp2Environment.IsReady)
{
return;
}
string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
axWebBrowser.Navigate(url);
}
private void OnDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.RemoveAllChildren();
this.BuildANothing();
}
private void ToolStripButtonClicked(object sender, EventArgs e)
@ -425,82 +435,71 @@ namespace HtmlHelp2 @@ -425,82 +435,71 @@ namespace HtmlHelp2
#region WebBrowser Scripting
public void BuildNewChild(string sectionName, string topicName, string topicUrl)
{
try
HtmlElementCollection children =
axWebBrowser.Document.Body.GetElementsByTagName("span");
foreach (HtmlElement child in children)
{
HtmlElementCollection children = axWebBrowser.Document.Body.GetElementsByTagName("span");
if (children.Count > 0)
if (child.GetAttribute("className") == "section")
{
foreach (HtmlElement elem in children)
HtmlElement sectionBlock = child.FirstChild.NextSibling;
HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling;
if (sectionBlock.TagName == "B" &&
sectionBlock.InnerText == sectionName &&
contentSpan.TagName == "SPAN" &&
contentSpan.GetAttribute("className") == "content")
{
if (elem.GetAttribute("className") == "section")
if (!this.DoesLinkExist(contentSpan, topicName, topicUrl))
{
HtmlElement sectionBlock = elem.FirstChild.NextSibling;
HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling;
if (sectionBlock.TagName == "B" && sectionBlock.InnerText == sectionName &&
contentSpan.TagName == "SPAN" && contentSpan.GetAttribute("className") == "content")
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
if (newLink != null)
{
if (!this.DoesLinkExist(contentSpan, topicName, topicUrl))
{
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
HtmlElement br = this.CreateABreak();
if (newLink != null)
{
contentSpan.AppendChild(newLink);
if (br != null) contentSpan.AppendChild(br);
}
}
return;
contentSpan.AppendChild(newLink);
contentSpan.AppendChild(this.CreateABreak());
}
}
}
try
{
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
this.CreateABreak());
return;
}
catch {}
}
}
HtmlElement linkContent = null;
HtmlElement htmlSection = this.CreateNewSection(sectionName, out linkContent);
if (htmlSection != null)
{
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
htmlSection);
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
HtmlElement br = this.CreateABreak();
if (children.Count > 0)
{
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, this.CreateABreak());
}
if (newLink != null) linkContent.AppendChild(newLink);
if (br != null) linkContent.AppendChild(br);
HtmlElement linkContent = null;
HtmlElement htmlSection = this.CreateNewSection(sectionName, out linkContent);
if (htmlSection != null)
{
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, htmlSection);
this.internalIndex++;
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
if (newLink != null)
{
linkContent.AppendChild(newLink);
linkContent.AppendChild(this.CreateABreak());
}
}
catch (Exception ex)
{
LoggingService.Error("Help 2.0: " + ex.ToString());
this.internalIndex++;
}
}
private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode)
{
HtmlElement span = axWebBrowser.Document.CreateElement("SPAN");
HtmlElement span = axWebBrowser.Document.CreateElement("span");
span.SetAttribute("className", "section");
span.InnerHtml = String.Format(
"<img style=\"width:16px;height:16px;margin-right:5px\" id=\"image_{0}\" src=\"open\">" +
"<b style=\"cursor:auto;\" id=\"{0}\" onclick=\"ExpandCollapse({0})\">{1}</b><br>",
this.internalIndex, sectionName);
span.InnerHtml = String.Format
("<img style=\"width:16px;height:16px;margin-right:5px\" id=\"image_{0}\" src=\"open\">" +
"<b style=\"cursor:auto;\" id=\"{0}\" onclick=\"ExpandCollapse({0})\">{1}</b><br>",
this.internalIndex, sectionName);
linkNode = axWebBrowser.Document.CreateElement("SPAN");
linkNode = axWebBrowser.Document.CreateElement("span");
linkNode.SetAttribute("className", "content");
linkNode.Id = String.Format("content_{0}", this.internalIndex);
linkNode.Id = String.Format("content_{0}", this.internalIndex);
span.AppendChild(linkNode);
return span;
@ -508,7 +507,7 @@ namespace HtmlHelp2 @@ -508,7 +507,7 @@ namespace HtmlHelp2
private HtmlElement CreateNewLink(string topicUrl, string topicName)
{
HtmlElement span = axWebBrowser.Document.CreateElement("A");
HtmlElement span = axWebBrowser.Document.CreateElement("a");
span.InnerText = topicName;
span.SetAttribute("src", topicUrl);
span.SetAttribute("className", "link");
@ -522,82 +521,56 @@ namespace HtmlHelp2 @@ -522,82 +521,56 @@ namespace HtmlHelp2
private HtmlElement CreateABreak()
{
HtmlElement br = axWebBrowser.Document.CreateElement("BR");
HtmlElement br = axWebBrowser.Document.CreateElement("br");
return br;
}
public void BuildANothing()
{
try
{
HtmlElement nothing = axWebBrowser.Document.CreateElement("B");
nothing.InnerText = StringParser.Parse("${res:AddIns.HtmlHelp2.NoDataIsAvailableForDynamicHelp}");
nothing.SetAttribute("title", nothing.InnerText);
axWebBrowser.Document.Body.InnerHtml = "";
axWebBrowser.Document.Body.AppendChild(nothing);
}
catch(Exception ex)
{
LoggingService.Error(ex.Message);
}
}
private bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
{
try
HtmlElementCollection links = parentNode.GetElementsByTagName("a");
foreach (HtmlElement link in links)
{
HtmlElementCollection allLinks = parentNode.GetElementsByTagName("a");
if (allLinks.Count > 0)
if (string.Compare(topicName, link.InnerText) == 0 &&
string.Compare(topicUrl, link.GetAttribute("src")) == 0)
{
foreach (HtmlElement link in allLinks)
{
if (String.Compare(topicName, link.InnerText) == 0 &&
String.Compare(topicUrl, link.GetAttribute("src")) == 0)
{
return true;
}
}
return true;
}
}
catch { }
return false;
}
private void OnMouseOver(object sender, HtmlElementEventArgs e)
{
try
if (sender is HtmlElement)
{
StatusBarService.SetMessage(((HtmlElement)sender).GetAttribute("src"));
}
catch {}
}
private void OnMouseOut(object sender, HtmlElementEventArgs e)
{
StatusBarService.SetMessage("");
StatusBarService.SetMessage(string.Empty);
}
private void OnLinkClick(object sender, HtmlElementEventArgs e)
{
try
if (sender is HtmlElement)
{
string url = ((HtmlElement)sender).GetAttribute("src");
if(url != null && url.Length > 0) ShowHelpBrowser.OpenHelpView(url);
if (!string.IsNullOrEmpty(url)) ShowHelpBrowser.OpenHelpView(url);
}
catch {}
}
public void RemoveAllChildren()
{
try
{
this.internalIndex = 0;
axWebBrowser.Document.Body.InnerHtml = "";
this.internalIndex = 0;
axWebBrowser.Document.Body.InnerHtml = string.Empty;
}
catch (Exception ex)
{
LoggingService.Error("Help 2.0: error while removing HTML children; " + ex.ToString());
LoggingService.Error("Help 2.0: Clean-up Call Exception; " + ex.ToString());
}
}
#endregion
@ -605,27 +578,23 @@ namespace HtmlHelp2 @@ -605,27 +578,23 @@ namespace HtmlHelp2
#region DebugInfo
public void CreateDebugPre(string debugInformation)
{
if (debugInformation == String.Empty) return;
try
if (!string.IsNullOrEmpty(debugInformation))
{
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
this.CreateABreak());
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
this.CreateABreak());
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, CreateABreak());
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, CreateABreak());
HtmlElement pre = axWebBrowser.Document.CreateElement("pre");
pre.InnerHtml = "--- Dynamic Help Debug ---<br>" + debugInformation;
pre.InnerHtml = "--- Dynamic Help Debug ---<br>" + debugInformation;
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
pre);
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, pre);
}
catch {}
}
#endregion
}
#region TypeHandling by Robert_G
public static class TypeHandling
{
public static IEnumerable<Type> FindDeclaringType(Type type, string memberName)
@ -644,10 +613,9 @@ namespace HtmlHelp2 @@ -644,10 +613,9 @@ namespace HtmlHelp2
yield return declaringType;
}
// QUOTE:
// "Aber das ist wohl eher ein no-Brainer... ;-)"
// (Robert)
#region TypeHandling Class by Robert_G
// QUOTE: "Aber das ist ja wohl eher ein no-Brainer... ;-)
#endregion
}
}
#endregion
}

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

@ -114,12 +114,14 @@ namespace HtmlHelp2 @@ -114,12 +114,14 @@ namespace HtmlHelp2
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList;
filterCombobox.Sorted = true;
filterCombobox.Enabled = this.isEnabled;
filterCombobox.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged);
Controls.Add(label1);
label1.Dock = DockStyle.Top;
label1.TextAlign = ContentAlignment.MiddleLeft;
label1.Enabled = this.isEnabled;
label1.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
Panel panel2 = new Panel();
Controls.Add(panel2);
@ -129,6 +131,7 @@ namespace HtmlHelp2 @@ -129,6 +131,7 @@ namespace HtmlHelp2
panel2.Controls.Add(searchTerm);
searchTerm.Dock = DockStyle.Top;
searchTerm.Enabled = this.isEnabled;
searchTerm.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
searchTerm.TextChanged += new EventHandler(this.SearchTextChanged);
searchTerm.KeyPress += new KeyPressEventHandler(this.SearchKeyPress);
@ -136,6 +139,7 @@ namespace HtmlHelp2 @@ -136,6 +139,7 @@ namespace HtmlHelp2
label2.Dock = DockStyle.Top;
label2.TextAlign = ContentAlignment.MiddleLeft;
label2.Enabled = this.isEnabled;
label2.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RedrawContent();
@ -153,10 +157,11 @@ namespace HtmlHelp2 @@ -153,10 +157,11 @@ namespace HtmlHelp2
indexControl = null;
Controls.Clear();
Panel nohelpPanel = new Panel();
nohelpPanel.Dock = DockStyle.Fill;
nohelpPanel.BorderStyle = BorderStyle.Fixed3D;
Controls.Add(nohelpPanel);
Label nohelpLabel = new Label();
nohelpLabel.Dock = DockStyle.Fill;
nohelpLabel.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HelpSystemNotAvailable}");
nohelpLabel.TextAlign = ContentAlignment.MiddleCenter;
Controls.Add(nohelpLabel);
}
public void RedrawContent()
@ -174,7 +179,6 @@ namespace HtmlHelp2 @@ -174,7 +179,6 @@ namespace HtmlHelp2
searchTerm.Items.Insert(0, indexTerm);
searchTerm.SelectedIndex = 0;
itemClicked = false;
this.ShowSelectedItemEntry(indexTerm, indexSlot);
}
@ -182,7 +186,7 @@ namespace HtmlHelp2 @@ -182,7 +186,7 @@ namespace HtmlHelp2
private void FilterChanged(object sender, EventArgs e)
{
string selectedFilterName = filterCombobox.SelectedItem.ToString();
if (selectedFilterName != null && selectedFilterName.Length > 0)
if (!string.IsNullOrEmpty(selectedFilterName))
{
Cursor.Current = Cursors.WaitCursor;
this.SetIndex(selectedFilterName);

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

@ -60,6 +60,7 @@ namespace HtmlHelp2 @@ -60,6 +60,7 @@ namespace HtmlHelp2
listView.MultiSelect = false;
listView.HideSelection = false;
listView.Enabled = HtmlHelp2Environment.IsReady;
listView.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
ListViewResize(this,null);
listView.Resize += new EventHandler(ListViewResize);

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

@ -91,6 +91,7 @@ namespace HtmlHelp2 @@ -91,6 +91,7 @@ namespace HtmlHelp2
panel3.Controls.Add(searchButton);
searchButton.Enabled = false;
searchButton.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
searchButton.Click += new EventHandler(SearchButtonClick);
panel3.Controls.Add(titlesOnly);
panel3.Controls.Add(enableStemming);
@ -102,28 +103,33 @@ namespace HtmlHelp2 @@ -102,28 +103,33 @@ namespace HtmlHelp2
titlesOnly.Top = searchButton.Top + searchButton.Height + 10;
titlesOnly.TextAlign = ContentAlignment.MiddleLeft;
titlesOnly.Enabled = HtmlHelp2Environment.IsReady;
titlesOnly.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
enableStemming.Width = pw;
enableStemming.Top = titlesOnly.Top + titlesOnly.Height - 4;
enableStemming.TextAlign = ContentAlignment.MiddleLeft;
enableStemming.Enabled = HtmlHelp2Environment.IsReady;
enableStemming.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
reuseMatches.Width = pw;
reuseMatches.Top = enableStemming.Top + enableStemming.Height - 4;
reuseMatches.Enabled = false;
reuseMatches.TextAlign = ContentAlignment.MiddleLeft;
reuseMatches.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
hiliteTopics.Width = pw;
hiliteTopics.Top = reuseMatches.Top + reuseMatches.Height - 4;
hiliteTopics.TextAlign = ContentAlignment.MiddleLeft;
hiliteTopics.Enabled = HtmlHelp2Environment.IsReady;
hiliteTopics.Checked = true;
hiliteTopics.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
useCurrentLang.Width = pw;
useCurrentLang.Top = hiliteTopics.Top + hiliteTopics.Height;
useCurrentLang.TextAlign = ContentAlignment.MiddleLeft;
useCurrentLang.Enabled = HtmlHelp2Environment.IsReady;
useCurrentLang.Visible = ProjectService.CurrentProject != null;
useCurrentLang.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
panel3.Dock = DockStyle.Fill;
@ -137,6 +143,7 @@ namespace HtmlHelp2 @@ -137,6 +143,7 @@ namespace HtmlHelp2
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList;
filterCombobox.Sorted = true;
filterCombobox.Enabled = HtmlHelp2Environment.IsReady;
filterCombobox.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged);
if (HtmlHelp2Environment.IsReady)
@ -151,6 +158,7 @@ namespace HtmlHelp2 @@ -151,6 +158,7 @@ namespace HtmlHelp2
label1.Dock = DockStyle.Top;
label1.TextAlign = ContentAlignment.MiddleLeft;
label1.Enabled = HtmlHelp2Environment.IsReady;
label1.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
// SearchTerm Combobox
Panel panel2 = new Panel();
@ -162,11 +170,13 @@ namespace HtmlHelp2 @@ -162,11 +170,13 @@ namespace HtmlHelp2
searchTerm.TextChanged += new EventHandler(SearchTextChanged);
searchTerm.KeyPress += new KeyPressEventHandler(KeyPressed);
searchTerm.Enabled = HtmlHelp2Environment.IsReady;
searchTerm.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
mainPanel.Controls.Add(label2);
label2.Dock = DockStyle.Top;
label2.TextAlign = ContentAlignment.MiddleLeft;
label2.Enabled = HtmlHelp2Environment.IsReady;
label2.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RedrawContent();
@ -177,7 +187,7 @@ namespace HtmlHelp2 @@ -177,7 +187,7 @@ namespace HtmlHelp2
private void FilterChanged(object sender, EventArgs e)
{
string selectedFilterName = filterCombobox.SelectedItem.ToString();
if (selectedFilterName.Length > 0)
if (!string.IsNullOrEmpty(selectedFilterName))
{
selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedFilterName);
}
@ -210,7 +220,7 @@ namespace HtmlHelp2 @@ -210,7 +220,7 @@ namespace HtmlHelp2
private void SearchButtonClick(object sender, EventArgs e)
{
if (searchTerm.Text.Length > 0)
if (!string.IsNullOrEmpty(searchTerm.Text))
{
this.AddTermToList(searchTerm.Text);
this.PerformFTS(searchTerm.Text);
@ -219,7 +229,7 @@ namespace HtmlHelp2 @@ -219,7 +229,7 @@ namespace HtmlHelp2
private void SearchTextChanged(object sender, EventArgs e)
{
searchButton.Enabled = (searchTerm.Text.Length > 0);
searchButton.Enabled = (!string.IsNullOrEmpty(searchTerm.Text));
}
private void KeyPressed(object sender, KeyPressEventArgs e)
@ -250,7 +260,10 @@ namespace HtmlHelp2 @@ -250,7 +260,10 @@ namespace HtmlHelp2
private void PerformFTS(string searchWord, bool useDynamicHelp)
{
if (!HtmlHelp2Environment.IsReady || searchIsBusy) return;
if (!HtmlHelp2Environment.IsReady || string.IsNullOrEmpty(searchWord) || searchIsBusy)
{
return;
}
HtmlHelp2SearchResultsView searchResults = HtmlHelp2SearchResultsView.Instance;
@ -331,7 +344,10 @@ namespace HtmlHelp2 @@ -331,7 +344,10 @@ namespace HtmlHelp2
public bool PerformF1FTS(string keyword, bool useDynamicHelp)
{
if (!HtmlHelp2Environment.IsReady || searchIsBusy) return false;
if (!HtmlHelp2Environment.IsReady || string.IsNullOrEmpty(keyword) || searchIsBusy)
{
return false;
}
this.PerformFTS(keyword, useDynamicHelp);

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

@ -67,6 +67,7 @@ namespace HtmlHelp2 @@ -67,6 +67,7 @@ namespace HtmlHelp2
listView.Alignment = ListViewAlignment.Left;
listView.View = View.Details;
listView.Dock = DockStyle.Fill;
listView.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
ListViewResize(this,null);
listView.Resize += new EventHandler(ListViewResize);

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

@ -167,12 +167,14 @@ namespace HtmlHelp2 @@ -167,12 +167,14 @@ namespace HtmlHelp2
filterCombobox.DropDownStyle = ComboBoxStyle.DropDownList;
filterCombobox.Sorted = true;
filterCombobox.Enabled = this.isEnabled;
filterCombobox.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged);
Controls.Add(label1);
label1.Dock = DockStyle.Top;
label1.TextAlign = ContentAlignment.MiddleLeft;
label1.Enabled = this.isEnabled;
label1.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.RedrawContent();
if (this.isEnabled)
@ -293,7 +295,7 @@ namespace HtmlHelp2 @@ -293,7 +295,7 @@ namespace HtmlHelp2
private void CallHelp(string topicUrl, bool syncToc)
{
if (topicUrl.Length > 0)
if (!string.IsNullOrEmpty(topicUrl))
{
if (syncToc) this.SynchronizeToc(topicUrl);
ShowHelpBrowser.OpenHelpView(topicUrl);

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

@ -44,13 +44,5 @@ namespace HtmlHelp2.ControlsValidation @@ -44,13 +44,5 @@ namespace HtmlHelp2.ControlsValidation
return false;
}
}
public Help2ControlsValidation()
{
}
static Help2ControlsValidation()
{
}
}
}

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

@ -15,65 +15,59 @@ namespace HtmlHelp2.RegistryWalker @@ -15,65 +15,59 @@ namespace HtmlHelp2.RegistryWalker
public sealed class Help2RegistryWalker
{
private static HxRegNamespacePropId NamespaceDescription =
HxRegNamespacePropId.HxRegNamespaceDescription;
public Help2RegistryWalker()
{
}
static Help2RegistryWalker()
{
}
public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection)
{
if (help2Collections == null) return;
if (help2Collections == null)
{
return;
}
help2Collections.Items.Clear();
help2Collections.BeginUpdate();
try
{
string currentDescription = "";
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
string currentDescription = string.Empty;
HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
foreach (IHxRegNamespace currentNamespace in namespaces)
{
help2Collections.Items.Add((string)currentNamespace.GetProperty(NamespaceDescription));
help2Collections.Items.Add
((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription));
if (selectedHelp2Collection != "" &&
String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
if (!string.IsNullOrEmpty(selectedHelp2Collection) &&
string.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
{
currentDescription =
(string)currentNamespace.GetProperty(NamespaceDescription);
(string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription);
}
}
if (currentDescription != "")
if (!string.IsNullOrEmpty(currentDescription))
help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription);
else
help2Collections.SelectedIndex = 0;
}
catch(Exception ex)
{
LoggingService.Error("Help 2.0: cannot build namespaces list for Options dialog", ex);
LoggingService.Error("Help 2.0: Cannot build namespaces list;", ex);
}
help2Collections.EndUpdate();
}
public static string GetNamespaceName(string namespaceDescription)
public static string GetNamespaceName(string description)
{
try
{
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
foreach (IHxRegNamespace currentNamespace in namespaces)
{
string currentNamespaceName = (string)currentNamespace.GetProperty(NamespaceDescription);
if (String.Compare(namespaceDescription, currentNamespaceName) == 0)
string currentDescription =
(string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription);
if (string.Compare(currentDescription, description) == 0)
{
return currentNamespace.Name;
}
@ -83,52 +77,55 @@ namespace HtmlHelp2.RegistryWalker @@ -83,52 +77,55 @@ namespace HtmlHelp2.RegistryWalker
{
LoggingService.Error("Help 2.0: cannot find selected namespace name");
}
return "";
return string.Empty;
}
public static string GetFirstNamespace(string namespaceName)
public static string GetFirstNamespace(string name)
{
try
{
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
foreach (IHxRegNamespace currentNamespace in namespaces)
{
if (String.Compare(namespaceName, currentNamespace.Name) == 0)
if (string.Compare(currentNamespace.Name, name) == 0)
{
return namespaceName;
return name;
}
}
return namespaces.ItemAt(1).Name;
}
catch
{
return "";
return string.Empty;
}
}
public static string GetFirstMatchingNamespaceName(string matchingNamespaceName)
public static string GetFirstMatchingNamespaceName(string matchingName)
{
if (matchingNamespaceName == "") return "";
try
if (!string.IsNullOrEmpty(matchingName))
{
HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList nl = regWalker.get_RegisteredNamespaceList("");
foreach (IHxRegNamespace currentNamespace in nl)
try
{
if (PathMatchSpec(currentNamespace.Name, matchingNamespaceName))
HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
foreach (IHxRegNamespace currentNamespace in namespaces)
{
return currentNamespace.Name;
if (PathMatchSpec(currentNamespace.Name, matchingName))
{
return currentNamespace.Name;
}
}
}
catch
{
// I don't care about an exception here ;-)
}
}
catch {}
return "";
return string.Empty;
}
#region PatchMatchSpec@Win32API

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

@ -14,13 +14,11 @@ namespace HtmlHelp2.OptionsPanel @@ -14,13 +14,11 @@ namespace HtmlHelp2.OptionsPanel
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using HtmlHelp2.Environment;
using HtmlHelp2.RegistryWalker;
using MSHelpServices;
public class HtmlHelp2OptionsPanel : AbstractOptionPanel
{
@ -31,8 +29,6 @@ namespace HtmlHelp2.OptionsPanel @@ -31,8 +29,6 @@ namespace HtmlHelp2.OptionsPanel
public override void LoadPanelContents()
{
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("HtmlHelp2.Resources.HtmlHelp2Options.xfrm"));
// ControlDictionary["reregisterButton"].Click += ReregisterButtonClick;
// ControlDictionary["reregisterButton"].Visible = false;
this.InitializeComponents();
}
@ -55,7 +51,7 @@ namespace HtmlHelp2.OptionsPanel @@ -55,7 +51,7 @@ namespace HtmlHelp2.OptionsPanel
tocPictures = (CheckBox)ControlDictionary["tocPictures"];
tocPictures.Enabled = HtmlHelp2Environment.IsReady;
tocPictures.Checked = HtmlHelp2Environment.Config.TocPictures;
Help2RegistryWalker.BuildNamespacesList(help2Collections, selectedHelp2Collection);
}
catch(Exception ex)
@ -79,29 +75,6 @@ namespace HtmlHelp2.OptionsPanel @@ -79,29 +75,6 @@ namespace HtmlHelp2.OptionsPanel
HtmlHelp2Environment.Config.TocPictures = tocPictures.Checked;
HtmlHelp2Environment.SaveConfiguration();
}
#region ReRegister
// void ReregisterButtonClick(object sender, EventArgs e)
// {
// System.Threading.ThreadPool.QueueUserWorkItem(DoReregister);
// }
//
// void DoReregister(object state)
// {
// try
// {
// ProcessStartInfo info = new ProcessStartInfo("cmd", "/c call echo Unregistering... & unregister.bat & echo. & echo Registering... & call register.bat & pause");
// info.WorkingDirectory = Path.Combine(FileUtility.ApplicationRootPath, "bin\\setup\\help");
// Process p = Process.Start(info);
// p.WaitForExit(45000);
// WorkbenchSingleton.SafeThreadAsyncCall(typeof(HtmlHelp2Environment), "ReloadNamespace");
// }
// catch (Exception ex)
// {
// MessageService.ShowError(ex);
// }
// }
#endregion
}
[XmlRoot("help2environment")]
@ -109,6 +82,7 @@ namespace HtmlHelp2.OptionsPanel @@ -109,6 +82,7 @@ namespace HtmlHelp2.OptionsPanel
{
private string selectedCollection = string.Empty;
private bool tocPictures = true;
private bool dynamicHelpDebugInfo = false;
[XmlElement("collection")]
public string SelectedCollection
@ -123,5 +97,12 @@ namespace HtmlHelp2.OptionsPanel @@ -123,5 +97,12 @@ namespace HtmlHelp2.OptionsPanel
get { return tocPictures; }
set { tocPictures = value; }
}
[XmlElement("dhdebuginfos")]
public bool DynamicHelpDebugInfos
{
get { return this.dynamicHelpDebugInfo; }
set { this.dynamicHelpDebugInfo = value; }
}
}
}

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

@ -99,25 +99,6 @@ namespace HtmlHelp2.Environment @@ -99,25 +99,6 @@ namespace HtmlHelp2.Environment
{
DefaultNamespaceName = config.SelectedCollection;
}
// try
// {
// XmlDocument xmldoc = new XmlDocument();
// xmldoc.Load(Path.Combine(PropertyService.ConfigDirectory, help2EnvironmentFile));
//
// XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection");
// if (node != null) {
// if (!string.IsNullOrEmpty(node.InnerText)) {
// DefaultNamespaceName = node.InnerText;
// }
// }
//
// LoggingService.Info("Help 2.0: using last configuration");
// }
// catch
// {
// LoggingService.Info("Help 2.0: using default configuration");
// }
}
public static void ReloadNamespace()
@ -130,10 +111,12 @@ namespace HtmlHelp2.Environment @@ -130,10 +111,12 @@ namespace HtmlHelp2.Environment
private static void InitializeNamespace(string namespaceName)
{
if(namespaceName == null || namespaceName == "")
if (string.IsNullOrEmpty(namespaceName))
{
return;
}
if(session != null) session = null;
session = null;
HtmlHelp2Dialog initDialog = new HtmlHelp2Dialog();
try
@ -143,8 +126,8 @@ namespace HtmlHelp2.Environment @@ -143,8 +126,8 @@ namespace HtmlHelp2.Environment
initDialog.Show();
Application.DoEvents();
currentSelectedFilterQuery = "";
currentSelectedFilterName = "";
currentSelectedFilterQuery = string.Empty;
currentSelectedFilterName = string.Empty;
session = new HxSession();
session.Initialize(String.Format("ms-help://{0}", namespaceName), 0);
@ -169,12 +152,14 @@ namespace HtmlHelp2.Environment @@ -169,12 +152,14 @@ namespace HtmlHelp2.Environment
private static void ReloadFTSSystem()
{
fulltextSearch = (IHxQuery)session.GetNavigationInterface("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid);
fulltextSearch = (IHxQuery)session.GetNavigationInterface
("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid);
}
private static void ReloadDynamicHelpSystem()
{
dynamicHelp = (IHxIndex)session.GetNavigationInterface("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref IndexGuid);
dynamicHelp = (IHxIndex)session.GetNavigationInterface
("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref IndexGuid);
}
private static void ReloadDefaultPages()
@ -185,34 +170,59 @@ namespace HtmlHelp2.Environment @@ -185,34 +170,59 @@ namespace HtmlHelp2.Environment
private static string GetDefaultPage(string pageName, string alternatePageName, string defaultValue)
{
string resultString = "";
string result = string.Empty;
try
{
IHxIndex namedUrlIndex = (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex",
"",
ref IndexGuid);
IHxTopicList topics = null;
topics = namedUrlIndex.GetTopicsFromString(pageName, 0);
IHxIndex namedUrlIndex =
(IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", "", ref IndexGuid);
if(topics.Count == 0 && (alternatePageName != null && alternatePageName != ""))
IHxTopicList topics = namedUrlIndex.GetTopicsFromString(pageName, 0);
if (topics.Count == 0 && !string.IsNullOrEmpty(alternatePageName))
{
topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0);
}
if(topics.Count > 0)
resultString = topics.ItemAt(1).URL;
if (topics.Count > 0)
result = topics.ItemAt(1).URL;
if (resultString == null || resultString.Length == 0)
resultString = defaultValue;
if (string.IsNullOrEmpty(result))
result = defaultValue;
return resultString;
return result;
}
catch
{
return 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;
//
// if (resultString == null || resultString.Length == 0)
// resultString = defaultValue;
//
// return resultString;
// }
// catch
// {
// return defaultValue;
// }
}
public static IHxHierarchy GetTocHierarchy(string filterQuery)
@ -236,22 +246,32 @@ namespace HtmlHelp2.Environment @@ -236,22 +246,32 @@ namespace HtmlHelp2.Environment
try
{
foreach(IHxRegFilter filter in namespaceFilters)
foreach (IHxRegFilter filter in namespaceFilters)
{
string filterName = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterName);
string filterName =
(string)filter.GetProperty(HxRegFilterPropId.HxRegFilterName);
filterCombobox.Items.Add(filterName);
if(currentSelectedFilterName == "") currentSelectedFilterName = filterName;
if (string.IsNullOrEmpty(currentSelectedFilterName))
{
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);
if (string.IsNullOrEmpty(currentSelectedFilterName))
filterCombobox.SelectedIndex = 0;
else
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName);
}
catch(Exception ex)
{
LoggingService.Error("Help 2.0: cannot build filters; " + ex.Message);
LoggingService.Error("Help 2.0: Cannot build filters; " + ex.Message);
}
filterCombobox.EndUpdate();
@ -259,26 +279,47 @@ namespace HtmlHelp2.Environment @@ -259,26 +279,47 @@ namespace HtmlHelp2.Environment
public static string FindFilterQuery(string filterName)
{
if(String.Compare(filterName, currentSelectedFilterName) == 0)
if (string.Compare(filterName, currentSelectedFilterName) == 0)
{
return currentSelectedFilterQuery;
}
try
{
IHxRegFilter filter = namespaceFilters.FindFilter(filterName);
currentSelectedFilterQuery = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterQuery);
currentSelectedFilterName = filterName;
IHxRegFilter filter = namespaceFilters.FindFilter(filterName);
currentSelectedFilterName = filterName;
currentSelectedFilterQuery =
(string)filter.GetProperty(HxRegFilterPropId.HxRegFilterQuery);
OnFilterQueryChanged(EventArgs.Empty);
ReloadFTSSystem();
ReloadDynamicHelpSystem();
ReloadDefaultPages();
return currentSelectedFilterQuery;
}
catch
{
return "";
return string.Empty;
}
// 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)
@ -297,7 +338,7 @@ namespace HtmlHelp2.Environment @@ -297,7 +338,7 @@ namespace HtmlHelp2.Environment
}
finally
{
dynamicHelpIsBusy = false;
dynamicHelpIsBusy = false;
}
return topics;
}

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

@ -24,7 +24,7 @@ namespace HtmlHelp2.ResourcesHelperClass @@ -24,7 +24,7 @@ namespace HtmlHelp2.ResourcesHelperClass
public static Bitmap GetBitmap(string resourceName)
{
Assembly assembly = typeof(ResourcesHelper).Assembly;
string fullName = String.Format("HtmlHelp2.Resources.{0}", resourceName);
string fullName = string.Format("HtmlHelp2.Resources.{0}", resourceName);
return new Bitmap(assembly.GetManifestResourceStream(fullName));
}

4
src/AddIns/Misc/HtmlHelp2/Project/src/Service/SharpDevLanguageClass.cs

@ -23,10 +23,6 @@ namespace HtmlHelp2.SharpDevLanguageClass @@ -23,10 +23,6 @@ namespace HtmlHelp2.SharpDevLanguageClass
languages.Add("VBNet", "VB");
}
SharpDevLanguage()
{
}
private static int DevLangCounter(IHxTopic topic)
{
try

Loading…
Cancel
Save