From 34dfa86a93e89d58188e361c8578d572842e1442 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 6 Aug 2005 14:36:13 +0000 Subject: [PATCH] Update default layouts. Fixed help document highlighting. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@325 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- AddIns/ICSharpCode.SharpDevelop.addin | 7 - data/resources/layouts/Debug.xml | Bin 17932 -> 17788 bytes data/resources/layouts/Default.xml | Bin 16896 -> 17790 bytes data/resources/layouts/Plain.xml | Bin 16876 -> 17770 bytes .../Misc/HtmlHelp2/Project/HtmlHelp2.addin | 9 +- .../Misc/HtmlHelp2/Project/HtmlHelp2.csproj | 1 + .../Project/src/BaseControls/SearchPad.cs | 16 +- .../src/BrowserControl/ShowHelpBrowser.cs | 9 +- .../HtmlHelp2/Project/src/BrowserScheme.cs | 33 ++ .../Misc/StartPage/Project/Src/StartPage.cs | 11 +- .../Project/ICSharpCode.SharpDevelop.csproj | 1 - .../Gui/BrowserDisplayBinding/HtmlViewPane.cs | 17 +- .../BrowserDisplayBinding/SchemeExtension.cs | 18 + .../Src/Gui/Pads/HelpBrowser/HelpBrowser.cs | 333 ------------------ 14 files changed, 92 insertions(+), 363 deletions(-) create mode 100644 src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs delete mode 100644 src/Main/Base/Project/Src/Gui/Pads/HelpBrowser/HelpBrowser.cs diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin index c5c45a870e..015faa6fc6 100644 --- a/AddIns/ICSharpCode.SharpDevelop.addin +++ b/AddIns/ICSharpCode.SharpDevelop.addin @@ -83,13 +83,6 @@ shortcut = "Control|Alt|F" class = "ICSharpCode.SharpDevelop.Gui.FileScout"/> - - }t4%IjPob%IcSWws~ktMRzFjnEh%9=r^7||g_ z!g@N5h)K|)(?E!V7$PyELqw+?I_wY~I+W+=&`;+)REJ$&-uHQ*=XsysuU6xJSGi4D zX9-i3;uND<3Xw)pM06`&mCa!`s|<BzCEOkT1Zh-0lBNn>qY|a*GOJ}4Okw@sSdMPcGJfjM`0&`lW z+w6@MTJ3vj$hwo=?`}SGuXCum?T^De%2R$Wgqt29b&`iMprStMz^)`h635Z;JD?X6 zNCsTk2nao_%KD@?gB|bQ-1fRKtMqzK!=p(j^J|DPF5c_IXarVpYWyDRQ)$$X^H`T0 z$SN8>3S($bEO0S2d@;NW&ZFwp(D69>ti2@JfH+{E^W~sn-$Cm#L zN`9@E(t4W53x;=7ZivD_Ym`4Q&DG{y@IKGT`wO9|92Ge{P*N;`9f~U9m*PhuXof2; cG=GE&9KH!^b4{JoA*0GD`>fr~b5qpz2QBp8bpQYW delta 646 zcmZWmOKTHR6h1SNNvwG^=@?5goxCQERhv$xNjptT3DQLtQmjhqLPD%nrdr$h1}T_I z>7sNYenIM{SaBf=k}^_M1cM8a;>uqT-03R1C@zY4jcHxT;c_0|Ip6v2z1vIN@-kOZ zc$Y>=>SdNM&@>3m2N|45~1han98LE-W&H#%wyym+t498b~%%V~l>$WZgCBdAw ze6w1!be^WEh%1ig5bO$m+0w}EtDwc9;E=rr$ytEm*uYVjfko$AOtcz!=6Z!Cw}H*p zDqeaF{BXa==e8VbZV#lk4b;UP4vHV)^yV?Tzlxy)3SPKJaMSw%YI|cx}pYych}iP)zMXDRc}g!Ml(SXYUUR zFhXLJF5ZM!QJ3`pVG%8|w9D`$a*9jgyVMU=DdS93XF3X~WCW}PG?b%Wq$7Vd)nqT8 z%KvsxbZ)Z#-Q0W-TM(Lq;tsvJ5SKZWg6)le9P9R@8WF5F=rVh-8N7?dxB;wp-NC)U zj-n(U_hfKl*n`zX5EuQ@pNYNA3A&DX{b7TP8(hO&;sV~p>{!%&W?n6Dh$j`)Lr$}v R80PUQq~JDhH}gr^{Tubd&LRK+ diff --git a/data/resources/layouts/Default.xml b/data/resources/layouts/Default.xml index 36d31ed8cc2412d144ae9fcb83ac5bbed2e23643..0b1241feb1f4204d1dfeb3caefa50315191bab93 100644 GIT binary patch delta 710 zcma)3L1+^}6rD-7+qI<0Hc8XE*~By(3pFv_jbJvbXvrypMX3@zl!C3oT54LgiUbc; ziin7a4|N&EdhaMz|2PqPI^58*=lpLkrJQe?L(Sv#@12caf|God-%+fO7eaxE~ zU&vrZX0j41&^pcx=a{dHce$4|40!~NVbPiM?{uRUXhIHTQ10DAvNwaR?vq#!u0cI5 zAs4J-H{64lp>mu#2tYW26eJe*@dmDxQTTOvm0s zh)sDKPX=CLDV#!PAd{`IMRuLdu?o9N`vRHDQ~ft~k$!3`STY(oaFC0FxKmMQjY=V?-vD=h!5krx4 zI4@d`KG@+D$b_MlP%f&_59Z)YsAwt$=y4P6p(s{W3raeMKuRGz2|FFdy|{(1l87Ev z#wY6AIUwQ^)rxAOp~hg-DF;NnAxux3^qF4GOEBU^Zs5Ms?>)p@?HX!{2S|-n@a~ZE z+!WB(&N|v$&I*z-Ma^n~4;@h3XI??%Qt zhHd4HS36%Rq_GC%oEja(hjScWj{~W81CiDt6x?bt|Dzr-6-uQP^liY?LpEi!9$UjMu-|~Xd_4u zB`A0(MOwbA2t|7>!j>F7lpIA$5d{z8A$Tl7ib#&d38@~`LwPXFn>W9i@6FVoO8YC) z8`I^pXqaqDQIgLPS-9Z(1n;0gJnBZJ$HY`vLD3(E5fje6wr?jfeQFDbohA~V8r&We zaxjf~Zw0dVHe|((Ro`2fzC5<%3a-j|>~`%S*OkW)e-$hKJXB>HA3L%z1Mje>WKr{X zU?NyWJ<#G8La%Y)G2jlF17lR82UMUjy2G}}5)nX$~8{O(})-_P)V?GyX@7 z(>&$4?qeojwI%6%leLb=-e7K)7HE$0N3_+XM~+AT=}c2xXOSN9-%7OTtcNyTl7-2> zaqR0l zGBWHRb_#rDU+uMdK$BX4Z7h=Fg$dlUyiyXEyYD00^8|@u9YwvlYXwF`g=}P;&yk1( zV?7>575lrxPcxtL2@;^j}QXUvc$=NUtK6ba(sBn~1@L8WRC3DPl?P}^#0c0?W?WL4B<)Ohs(an+t diff --git a/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin b/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin index 510e904ce7..7953e80a3d 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin +++ b/src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin @@ -9,6 +9,11 @@ + + + + - + class = "HtmlHelp2.HtmlHelp2FavoritesPad"/>--> + diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs index b800113622..5f7de458f4 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs @@ -23,7 +23,10 @@ namespace HtmlHelp2 public override void Run() { PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad)); - if(search != null) search.BringPadToFront(); + if (search != null) { + search.BringPadToFront(); + ((HtmlHelp2SearchPad)search.PadContent).FocusSearchTextBox(); + } } } @@ -31,7 +34,7 @@ namespace HtmlHelp2 public class HtmlHelp2SearchPad : AbstractPadContent { Panel mainPanel = new Panel(); - Button searchButton = new Button(); + Button searchButton = new Button(); ComboBox filterCombobox = new ComboBox(); ComboBox searchTerm = new ComboBox(); CheckBox titlesOnly = new CheckBox(); @@ -49,6 +52,11 @@ namespace HtmlHelp2 return mainPanel; } } + + public void FocusSearchTextBox() + { + searchTerm.Focus(); + } public override void RedrawContent() { @@ -112,7 +120,8 @@ namespace HtmlHelp2 hiliteTopics.Top = reuseMatches.Top + reuseMatches.Height - 4; hiliteTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HighlightMatches}"); hiliteTopics.TextAlign = ContentAlignment.MiddleLeft; - hiliteTopics.Enabled = true; + hiliteTopics.Enabled = HtmlHelp2Environment.IsReady; + hiliteTopics.Checked = true; panel3.Dock = DockStyle.Fill; @@ -216,6 +225,7 @@ namespace HtmlHelp2 private void KeyPressed(object sender, KeyPressEventArgs e) { if(e.KeyChar == (char)13 && searchTerm.Text != null) { + e.Handled = true; this.AddTermToList(searchTerm.Text); this.PerformFTS(searchTerm.Text); } diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs index 453a09c609..2e387e46b7 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs @@ -70,15 +70,10 @@ namespace HtmlHelp2 return tempPane; } - public static void HighlightDocument() + public static void HighlightDocument(HtmlViewPane htmlViewPane) { - // FIXME: HighlightDocument is called nowhere if (hiliteMatches && lastTopic != null) { - IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; - if(window != null && window.ActiveViewContent is BrowserPane) { - BrowserPane help2Browser = (BrowserPane)window.ActiveViewContent; - lastTopic.HighlightDocument(help2Browser.HtmlViewPane.WebBrowser.Document.DomDocument); - } + lastTopic.HighlightDocument(htmlViewPane.WebBrowser.Document.DomDocument); } } } diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs new file mode 100644 index 0000000000..572492ce2f --- /dev/null +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs @@ -0,0 +1,33 @@ +/* + * Created by SharpDevelop. + * User: Daniel Grunwald + * Date: 06.08.2005 + * Time: 16:13 + */ + +using System; +using System.Windows.Forms; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.BrowserDisplayBinding; + +namespace HtmlHelp2 +{ + public class BrowserScheme : DefaultSchemeExtension + { + public override void GoHome(HtmlViewPane pane) + { + pane.Navigate(HtmlHelp2Service.HtmlHelp2Environment.DefaultPage); + } + + public override void GoSearch(HtmlViewPane pane) + { + new ShowSearchMenuCommand().Run(); + } + + public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e) + { + ShowHelpBrowser.HighlightDocument(pane); + } + } +} diff --git a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs index f5aa3043f7..fc943f04c2 100644 --- a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs +++ b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs @@ -13,11 +13,11 @@ using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.StartPage { - public class StartPageScheme : ISchemeExtension + public class StartPageScheme : DefaultSchemeExtension { ICSharpCodePage page; - public void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e) + public override void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e) { e.Cancel = true; if (page == null) { @@ -37,14 +37,9 @@ namespace ICSharpCode.StartPage } } - public void GoHome(HtmlViewPane pane) + public override void GoHome(HtmlViewPane pane) { pane.Navigate("startpage://start/"); } - - public void GoSearch(HtmlViewPane pane) - { - pane.Navigate(HtmlViewPane.DefaultSearchUrl); - } } } diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 86b7c9284d..98d9f135d4 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -273,7 +273,6 @@ - Form diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs index f2fbd47d20..3b2e93b89a 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs @@ -149,6 +149,7 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding webBrowser.NewWindowExtended += NewWindow; webBrowser.Navigated += WebBrowserNavigated; webBrowser.StatusTextChanged += WebBrowserStatusTextChanged; + webBrowser.DocumentCompleted += WebBrowserDocumentCompleted; Controls.Add(webBrowser); if (showNavigation) { @@ -208,9 +209,21 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding } } - public void Navigate(string name) + void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { - webBrowser.Navigate(new Uri(name)); + try { + ISchemeExtension extension = GetScheme(e.Url.Scheme); + if (extension != null) { + extension.DocumentCompleted(this, e); + } + } catch (Exception ex) { + MessageService.ShowError(ex); + } + } + + public void Navigate(string url) + { + webBrowser.Navigate(new Uri(url)); } public void Navigate(Uri url) diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs index 1304e2a50e..0060666094 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs @@ -16,10 +16,28 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding public interface ISchemeExtension { void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e); + void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e); void GoHome(HtmlViewPane pane); void GoSearch(HtmlViewPane pane); } + public class DefaultSchemeExtension : ISchemeExtension + { + public virtual void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e) {} + + public virtual void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e) {} + + public virtual void GoHome(HtmlViewPane pane) + { + pane.Navigate(HtmlViewPane.DefaultHomepage); + } + + public virtual void GoSearch(HtmlViewPane pane) + { + pane.Navigate(HtmlViewPane.DefaultSearchUrl); + } + } + public class SchemeExtensionDescriptor { string schemeName; diff --git a/src/Main/Base/Project/Src/Gui/Pads/HelpBrowser/HelpBrowser.cs b/src/Main/Base/Project/Src/Gui/Pads/HelpBrowser/HelpBrowser.cs deleted file mode 100644 index 1e2ef9a3ce..0000000000 --- a/src/Main/Base/Project/Src/Gui/Pads/HelpBrowser/HelpBrowser.cs +++ /dev/null @@ -1,333 +0,0 @@ -// -// 2002-2005 AlphaSierraPapa -// GNU General Public License -// -// $Revision$ -// - -using Microsoft.Win32; -using System; -using System.Windows.Forms; -using System.Drawing; -using System.CodeDom.Compiler; -using System.IO; -using System.Text; -using System.Threading; -using System.Diagnostics; -using System.Xml; -using System.Reflection; - -using ICSharpCode.Core; - -using ICSharpCode.SharpZipLib.Zip; -using ICSharpCode.SharpDevelop.BrowserDisplayBinding; - -namespace ICSharpCode.SharpDevelop.Gui -{ - public class HelpBrowserWindow : BrowserPane - { - public HelpBrowserWindow() : base(true) - { - TitleName = "Help"; - } - } - - class HelpLinkInformation - { - string link; - bool isMSDN = false; - - public string Link { - get { - return link; - } - set { - link = value; - } - } - public bool IsMSDN { - get { - return isMSDN; - } - set { - isMSDN = value; - } - } - - public HelpLinkInformation(string link, bool isMSDN) - { - this.link = link; - this.isMSDN = isMSDN; - } - - } - - public class HelpBrowser : AbstractPadContent - { - static readonly string helpPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + - Path.DirectorySeparatorChar + ".." + - Path.DirectorySeparatorChar + "doc" + - Path.DirectorySeparatorChar + "help" + - Path.DirectorySeparatorChar; - - static readonly string helpFileName = helpPath + "SharpDevelopHelp.zip"; - static readonly string mainTOCFile = "HelpConv.xml"; - string HelpPrefix = "ms-help://MS.NETFrameworkSDK"; - - - Panel browserPanel = new Panel(); - TreeView treeView = new TreeView(); - - HelpBrowserWindow helpBrowserWindow = null; - - public override Control Control { - get { - return browserPanel; - } - } - - public HelpBrowser() - { - treeView.Dock = DockStyle.Fill; - treeView.ImageList = new ImageList(); - treeView.ImageList.ColorDepth = ColorDepth.Depth32Bit; - - - treeView.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.HelpClosedFolder")); - treeView.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.HelpOpenFolder")); - - treeView.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.HelpTopic")); - treeView.BeforeExpand += new TreeViewCancelEventHandler(BeforeExpand); - treeView.BeforeCollapse += new TreeViewCancelEventHandler(BeforeCollapse); - treeView.AfterSelect += new TreeViewEventHandler(SelectNode); - browserPanel.Controls.Add(treeView); - if (File.Exists(helpFileName)) - { - LoadHelpfile(); - ScanForLocalizedHelpPrefix(); - } - } - - void ScanForLocalizedHelpPrefix() - { - string localHelp = String.Concat("0x", Thread.CurrentThread.CurrentCulture.LCID.ToString("X4")); - RegistryKey helpKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\MSDN\7.0\Help"); - if (helpKey == null) { - return; - } - - RegistryKey k = helpKey.OpenSubKey(localHelp); - bool found = false; - if (k != null) { - string v = ScanSubKeys(k); - if (v != null) { - HelpPrefix = v; - found = true; - } - } - - if (!found) { - // use default english subkey - k = helpKey.OpenSubKey("0x0409"); - string v = k != null ? ScanSubKeys(k) : null; - if (v != null) { - HelpPrefix = v; - } else { - string[] subKeys = helpKey.GetSubKeyNames(); - foreach (string subKey in subKeys) { - if (subKey.StartsWith("0x")) { - HelpPrefix = ScanSubKeys(helpKey.OpenSubKey(subKey)); - break; - } - } - } - } - } - - string ScanSubKeys(RegistryKey key) - { - if (key != null) { - string[] subKeys = key.GetSubKeyNames(); - if (subKeys != null) { - foreach (string subKey in subKeys) { - RegistryKey sub = key.OpenSubKey(subKey); - if (sub == null) { - continue; - } - object o = sub.GetValue(null); - if (o == null) { - continue; - } - if (o.ToString().StartsWith("Microsoft .NET Framework SDK")) { - return sub.GetValue("Filename").ToString(); - } - } - } - } - return null; - } - protected string GetHelpString(string word) - { - int i = 0; - while ((i = word.IndexOf('.')) != -1) { - word = word.Remove(i,1); - } - return word; - } - - public void ShowHelpFromType(string type) - { - string url = String.Format("{0}/cpref/html/frlrf{1}ClassTopic.htm", - HelpPrefix, - GetHelpString(type)); - ShowHelpBrowser(url); - } - - public void ShowHelpFromType(string type, string member) - { - string url = String.Format("{0}/cpref/html/frlrf{1}Class{2}Topic.htm", - HelpPrefix, - GetHelpString(type), - member); - ShowHelpBrowser(url); - } - - /// - /// Parses the xml tree and generates a TreeNode tree out of it. - /// - void ParseTree(TreeNodeCollection nodeCollection, XmlNode parentNode) - { - foreach (XmlNode node in parentNode.ChildNodes) { - switch (node.Name) { - case "HelpFolder": - TreeNode newFolderNode = new TreeNode(node.Attributes["name"].InnerText); - newFolderNode.ImageIndex = newFolderNode.SelectedImageIndex = 0; - ParseTree(newFolderNode.Nodes, node); - - bool isMSDNLink = node.Attributes["ismsdn"] != null && node.Attributes["ismsdn"].Value.ToLower() == "true"; - newFolderNode.Tag = node.Attributes["link"] != null ? new HelpLinkInformation(node.Attributes["link"].InnerText , isMSDNLink) : null; - - nodeCollection.Add(newFolderNode); - break; - case "HelpTopic": - TreeNode newNode = new TreeNode(node.Attributes["name"].InnerText); - newNode.ImageIndex = newNode.SelectedImageIndex = 2; - - isMSDNLink = node.Attributes["ismsdn"] != null && node.Attributes["ismsdn"].Value.ToLower() == "true"; - newNode.Tag = new HelpLinkInformation(node.Attributes["link"].InnerText, isMSDNLink); - nodeCollection.Add(newNode); - break; - case "HelpReference": - TreeNode newReferenceNode = new TreeNode("Reference"); - newReferenceNode.Tag = node.Attributes["reference"].InnerText; - nodeCollection.Add(newReferenceNode); - break; - } - } - } - - XmlDocument LoadCompressedXmlDocument(string requestedFile) - { - ZipInputStream s = new ZipInputStream(File.OpenRead(helpFileName)); - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - if (theEntry.Name == requestedFile) { - - StringBuilder sb = new StringBuilder(); - int size = 2048; - byte[] data = new byte[2048]; - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - sb.Append(Encoding.UTF8.GetString(data, 0, size)); - } else { - break; - } - } - s.Close(); - XmlDocument doc = new XmlDocument(); - doc.LoadXml(sb.ToString()); - return doc; - } - } - s.Close(); - System.Diagnostics.Debug.Assert(false); - return null; - } - - void LoadHelpfile() - { - XmlDocument doc = LoadCompressedXmlDocument(mainTOCFile);new XmlDocument(); - ParseTree(treeView.Nodes, doc.DocumentElement); - } - - void HelpBrowserClose(object sender, EventArgs e) - { - helpBrowserWindow = null; - } - - public void ShowHelpBrowser(string url) - { - if (helpBrowserWindow == null) { - helpBrowserWindow = new HelpBrowserWindow(); - WorkbenchSingleton.Workbench.ShowView(helpBrowserWindow); - helpBrowserWindow.WorkbenchWindow.CloseEvent += new EventHandler(HelpBrowserClose); - } - helpBrowserWindow.Load(url); - helpBrowserWindow.WorkbenchWindow.SelectWindow(); - } - - - - void ShowHelp(TreeNode node) - { - if (node == null || node.Tag == null) { - return; - } - string navigationName; - - if(((HelpLinkInformation)node.Tag).IsMSDN == true) { - navigationName = ((HelpLinkInformation)node.Tag).Link; - } else { - navigationName = "mk:@MSITStore:" + helpPath + ((HelpLinkInformation)node.Tag).Link; - } - - ShowHelpBrowser(navigationName); - } - - void SelectNode(object sender, TreeViewEventArgs e) - { - ShowHelp(e.Node); - } - - void BeforeExpand(object sender, TreeViewCancelEventArgs e) - { - if (e.Node.ImageIndex < 2) { - e.Node.ImageIndex = e.Node.SelectedImageIndex = 1; - } - - TreeNode[] nodes = new TreeNode[e.Node.Nodes.Count]; - e.Node.Nodes.CopyTo(nodes, 0); - e.Node.Nodes.Clear(); - - foreach (TreeNode node in nodes) { - if (node.Tag is string) { - - XmlDocument doc = LoadCompressedXmlDocument(node.Tag.ToString()); - ParseTree(e.Node.Nodes, doc.DocumentElement); - } else { - e.Node.Nodes.Add(node); - } - } - ShowHelp(e.Node); - } - - void BeforeCollapse(object sender, TreeViewCancelEventArgs e) - { - if (e.Node.ImageIndex < 2) { - e.Node.ImageIndex = e.Node.SelectedImageIndex = 0; - } - } - } -}