mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
289 lines
9.6 KiB
C#
289 lines
9.6 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using mRemoteNG.App.Info;
|
|
using mRemoteNG.My;
|
|
using WeifenLuo.WinFormsUI.Docking;
|
|
|
|
|
|
namespace mRemoteNG.UI.Window
|
|
{
|
|
public class HelpWindow : BaseWindow
|
|
{
|
|
|
|
#region Form Init
|
|
internal TreeView tvIndex;
|
|
internal ImageList imgListHelp;
|
|
private System.ComponentModel.Container components = null;
|
|
internal SplitContainer pnlSplitter;
|
|
internal Label lblDocName;
|
|
internal WebBrowser wbHelp;
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
components = new System.ComponentModel.Container();
|
|
Load += new EventHandler(Help_Load);
|
|
Shown += new EventHandler(Help_Shown);
|
|
TreeNode TreeNode1 = new TreeNode("Introduction");
|
|
TreeNode TreeNode2 = new TreeNode("Prerequisites");
|
|
TreeNode TreeNode3 = new TreeNode("Installation");
|
|
TreeNode TreeNode4 = new TreeNode("Configuration");
|
|
TreeNode TreeNode5 = new TreeNode("SQL Configuration");
|
|
TreeNode TreeNode6 = new TreeNode("Command-Line Switches");
|
|
TreeNode TreeNode7 = new TreeNode("Getting Started", new TreeNode[] {TreeNode2, TreeNode3, TreeNode4, TreeNode5, TreeNode6});
|
|
TreeNode TreeNode8 = new TreeNode("Main Menu");
|
|
TreeNode TreeNode9 = new TreeNode("Connections");
|
|
TreeNode TreeNode10 = new TreeNode("Config");
|
|
TreeNode TreeNode11 = new TreeNode("Errors and Infos");
|
|
TreeNode TreeNode12 = new TreeNode("Save As / Export");
|
|
TreeNode TreeNode14 = new TreeNode("Screenshot Manager");
|
|
TreeNode TreeNode15 = new TreeNode("Connection");
|
|
TreeNode TreeNode16 = new TreeNode("Options");
|
|
TreeNode TreeNode17 = new TreeNode("Update");
|
|
TreeNode TreeNode18 = new TreeNode("SSH File Transfer");
|
|
TreeNode TreeNode19 = new TreeNode("Quick Connect");
|
|
TreeNode TreeNode20 = new TreeNode("Import From Active Directory");
|
|
TreeNode TreeNode21 = new TreeNode("External Applications");
|
|
TreeNode TreeNode22 = new TreeNode("Port Scan");
|
|
TreeNode TreeNode23 = new TreeNode("User Interface", new TreeNode[] {TreeNode8, TreeNode9, TreeNode10, TreeNode11, TreeNode12, TreeNode14, TreeNode15, TreeNode16, TreeNode17, TreeNode18, TreeNode19, TreeNode20, TreeNode21, TreeNode22});
|
|
TreeNode TreeNode24 = new TreeNode("Quick Reference");
|
|
TreeNode TreeNode25 = new TreeNode("Help", new TreeNode[] {TreeNode1, TreeNode7, TreeNode23, TreeNode24});
|
|
wbHelp = new WebBrowser();
|
|
wbHelp.DocumentTitleChanged += new EventHandler(wbHelp_DocumentTitleChanged);
|
|
tvIndex = new TreeView();
|
|
tvIndex.NodeMouseClick += new TreeNodeMouseClickEventHandler(tvIndex_NodeMouseClick);
|
|
tvIndex.AfterSelect += new TreeViewEventHandler(tvIndex_AfterSelect);
|
|
imgListHelp = new ImageList(components);
|
|
pnlSplitter = new SplitContainer();
|
|
lblDocName = new Label();
|
|
pnlSplitter.Panel1.SuspendLayout();
|
|
pnlSplitter.Panel2.SuspendLayout();
|
|
pnlSplitter.SuspendLayout();
|
|
SuspendLayout();
|
|
//
|
|
//wbHelp
|
|
//
|
|
wbHelp.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom)
|
|
| AnchorStyles.Left)
|
|
| AnchorStyles.Right;
|
|
wbHelp.Location = new System.Drawing.Point(1, 36);
|
|
wbHelp.MinimumSize = new System.Drawing.Size(20, 20);
|
|
wbHelp.Name = "wbHelp";
|
|
wbHelp.ScriptErrorsSuppressed = true;
|
|
wbHelp.Size = new System.Drawing.Size(327, 286);
|
|
wbHelp.TabIndex = 1;
|
|
//
|
|
//tvIndex
|
|
//
|
|
tvIndex.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom)
|
|
| AnchorStyles.Left)
|
|
| AnchorStyles.Right;
|
|
tvIndex.BorderStyle = BorderStyle.None;
|
|
tvIndex.HideSelection = false;
|
|
tvIndex.Location = new System.Drawing.Point(1, 1);
|
|
tvIndex.Name = "tvIndex";
|
|
TreeNode1.Name = "Node0";
|
|
TreeNode1.Tag = "Introduction";
|
|
TreeNode1.Text = "Introduction";
|
|
TreeNode2.Name = "Node0";
|
|
TreeNode2.Tag = "Prerequisites";
|
|
TreeNode2.Text = "Prerequisites";
|
|
TreeNode3.Name = "Node3";
|
|
TreeNode3.Tag = "Installation";
|
|
TreeNode3.Text = "Installation";
|
|
TreeNode4.Name = "Node4";
|
|
TreeNode4.Tag = "Configuration";
|
|
TreeNode4.Text = "Configuration";
|
|
TreeNode5.Name = "Node0";
|
|
TreeNode5.Tag = "ConfigurationSQL";
|
|
TreeNode5.Text = "SQL Configuration";
|
|
TreeNode6.Name = "Node5";
|
|
TreeNode6.Tag = "CMDSwitches";
|
|
TreeNode6.Text = "Command-Line Switches";
|
|
TreeNode7.Name = "Node1";
|
|
TreeNode7.Text = "Getting Started";
|
|
TreeNode8.Name = "Node7";
|
|
TreeNode8.Tag = "MainMenu";
|
|
TreeNode8.Text = "Main Menu";
|
|
TreeNode9.Name = "Node8";
|
|
TreeNode9.Tag = "Connections";
|
|
TreeNode9.Text = "Connections";
|
|
TreeNode10.Name = "Node9";
|
|
TreeNode10.Tag = "Config";
|
|
TreeNode10.Text = "Config";
|
|
TreeNode11.Name = "Node10";
|
|
TreeNode11.Tag = "ErrorsAndInfos";
|
|
TreeNode11.Text = "Errors and Infos";
|
|
TreeNode12.Name = "Node11";
|
|
TreeNode12.Tag = "SaveAsExport";
|
|
TreeNode12.Text = "Save As / Export";
|
|
TreeNode14.Name = "Node13";
|
|
TreeNode14.Tag = "ScreenshotManager";
|
|
TreeNode14.Text = "Screenshot Manager";
|
|
TreeNode15.Name = "Node14";
|
|
TreeNode15.Tag = "Connection";
|
|
TreeNode15.Text = "Connection";
|
|
TreeNode16.Name = "Node15";
|
|
TreeNode16.Tag = "Options";
|
|
TreeNode16.Text = "Options";
|
|
TreeNode17.Name = "Node16";
|
|
TreeNode17.Tag = "Update";
|
|
TreeNode17.Text = "Update";
|
|
TreeNode18.Name = "Node17";
|
|
TreeNode18.Tag = "SSHFileTransfer";
|
|
TreeNode18.Text = "SSH File Transfer";
|
|
TreeNode19.Name = "Node18";
|
|
TreeNode19.Tag = "QuickConnect";
|
|
TreeNode19.Text = "Quick Connect";
|
|
TreeNode20.Name = "Node19";
|
|
TreeNode20.Tag = "ImportFromAD";
|
|
TreeNode20.Text = "Import From Active Directory";
|
|
TreeNode21.Name = "Node1";
|
|
TreeNode21.Tag = "ExternalTools";
|
|
TreeNode21.Text = "External Tools";
|
|
TreeNode22.Name = "Node0";
|
|
TreeNode22.Tag = "PortScan";
|
|
TreeNode22.Text = "Port Scan";
|
|
TreeNode23.Name = "Node6";
|
|
TreeNode23.Text = "User Interface";
|
|
TreeNode24.Name = "Node20";
|
|
TreeNode24.Tag = "QuickReference";
|
|
TreeNode24.Text = "Quick Reference";
|
|
TreeNode25.Name = "Node0";
|
|
TreeNode25.Text = "Help";
|
|
TreeNode25.Tag = "Index";
|
|
tvIndex.Nodes.AddRange(new TreeNode[] {TreeNode25});
|
|
tvIndex.ShowRootLines = false;
|
|
tvIndex.Size = new System.Drawing.Size(207, 321);
|
|
tvIndex.TabIndex = 0;
|
|
//
|
|
//imgListHelp
|
|
//
|
|
imgListHelp.ColorDepth = ColorDepth.Depth32Bit;
|
|
imgListHelp.ImageSize = new System.Drawing.Size(16, 16);
|
|
imgListHelp.TransparentColor = System.Drawing.Color.Transparent;
|
|
//
|
|
//pnlSplitter
|
|
//
|
|
pnlSplitter.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom)
|
|
| AnchorStyles.Left)
|
|
| AnchorStyles.Right;
|
|
pnlSplitter.FixedPanel = FixedPanel.Panel1;
|
|
pnlSplitter.Location = new System.Drawing.Point(0, 0);
|
|
pnlSplitter.Name = "pnlSplitter";
|
|
//
|
|
//pnlSplitter.Panel1
|
|
//
|
|
pnlSplitter.Panel1.Controls.Add(tvIndex);
|
|
//
|
|
//pnlSplitter.Panel2
|
|
//
|
|
pnlSplitter.Panel2.Controls.Add(lblDocName);
|
|
pnlSplitter.Panel2.Controls.Add(wbHelp);
|
|
pnlSplitter.Size = new System.Drawing.Size(542, 323);
|
|
pnlSplitter.SplitterDistance = 209;
|
|
pnlSplitter.TabIndex = 2;
|
|
//
|
|
//lblDocName
|
|
//
|
|
lblDocName.Anchor = (AnchorStyles.Top | AnchorStyles.Left)
|
|
| AnchorStyles.Right;
|
|
lblDocName.BackColor = System.Drawing.Color.DimGray;
|
|
lblDocName.Font = new System.Drawing.Font("Segoe UI", 12.0F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
|
lblDocName.ForeColor = System.Drawing.Color.White;
|
|
lblDocName.Location = new System.Drawing.Point(1, 1);
|
|
lblDocName.Name = "lblDocName";
|
|
lblDocName.Size = new System.Drawing.Size(327, 35);
|
|
lblDocName.TabIndex = 2;
|
|
lblDocName.Text = "Introduction";
|
|
lblDocName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
|
//
|
|
//Help
|
|
//
|
|
ClientSize = new System.Drawing.Size(542, 323);
|
|
Controls.Add(pnlSplitter);
|
|
Icon = Resources.Help_Icon;
|
|
Name = "Help";
|
|
TabText = "Help";
|
|
Text = "Help";
|
|
pnlSplitter.Panel1.ResumeLayout(false);
|
|
pnlSplitter.Panel2.ResumeLayout(false);
|
|
pnlSplitter.ResumeLayout(false);
|
|
ResumeLayout(false);
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Public Methods
|
|
public HelpWindow(DockContent Panel)
|
|
{
|
|
WindowType = WindowType.Help;
|
|
DockPnl = Panel;
|
|
InitializeComponent();
|
|
|
|
FillImageList();
|
|
tvIndex.ImageList = imgListHelp;
|
|
SetImages(tvIndex.Nodes[0]);
|
|
}
|
|
#endregion
|
|
|
|
#region Private Methods
|
|
private void Help_Load(object sender, EventArgs e)
|
|
{
|
|
tvIndex.Nodes[0].ExpandAll();
|
|
tvIndex.SelectedNode = tvIndex.Nodes[0].Nodes[0];
|
|
}
|
|
|
|
private void Help_Shown(object sender, EventArgs e)
|
|
{
|
|
// This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
|
|
wbHelp.AllowWebBrowserDrop = false;
|
|
}
|
|
|
|
private void tvIndex_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
|
|
{
|
|
tvIndex.SelectedNode = e.Node;
|
|
}
|
|
|
|
private void tvIndex_AfterSelect(Object sender, TreeViewEventArgs e)
|
|
{
|
|
if (((string)e.Node.Tag) != "" && e.Node.Tag != null)
|
|
{
|
|
wbHelp.Navigate(GeneralAppInfo.HomePath + "\\Help\\" + Convert.ToString(e.Node.Tag) +".htm");
|
|
}
|
|
}
|
|
|
|
private void wbHelp_DocumentTitleChanged(object sender, EventArgs e)
|
|
{
|
|
lblDocName.Text = wbHelp.DocumentTitle;
|
|
}
|
|
|
|
private void FillImageList()
|
|
{
|
|
imgListHelp.Images.Add("File", Resources.Page);
|
|
imgListHelp.Images.Add("Folder", Resources.Folder);
|
|
imgListHelp.Images.Add("Help", Resources.Help);
|
|
}
|
|
|
|
private void SetImages(TreeNode node)
|
|
{
|
|
node.ImageIndex = 2;
|
|
node.SelectedImageIndex = 2;
|
|
|
|
foreach (TreeNode n in node.Nodes)
|
|
{
|
|
if (n.Nodes.Count > 0)
|
|
{
|
|
n.ImageIndex = 1;
|
|
n.SelectedImageIndex = 1;
|
|
}
|
|
else
|
|
{
|
|
n.ImageIndex = 0;
|
|
n.SelectedImageIndex = 0;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|