Exemple #1
0
 public override Control GetControl()
 {
     if (HtmlBrowser == null || HtmlBrowser.IsDisposed)
     {
         _lastNav = DateTime.UtcNow;
         BrowserUtil.SetBrowserEmulationMode();
         HtmlBrowser = new WebBrowser
         {
             Dock = DockStyle.Fill,
             WebBrowserShortcutsEnabled = false,
             ScriptErrorsSuppressed     = true
         };
         HtmlBrowser.Navigate("about:blank");
         while (HtmlBrowser.Document?.Body == null)
         {
             Application.DoEvents();
         }
         HtmlBrowser.DocumentText        = _printer.GetHtmlPage();
         HtmlBrowser.DocumentCompleted  += AfterPageLoad;
         HtmlBrowser.Navigating         += BrowserNavigating;
         HtmlBrowser.Document.MouseMove += MouseOver;
         return(HtmlBrowser);
     }
     return(HtmlBrowser);
 }
Exemple #2
0
        public FrmLegendsViewer(string file = "")
        {
            InitializeComponent();

            // Start local http server
            LocalFileProvider.Run();

            Coordinator = new LvCoordinator(this);

            FileLoader            = summaryTab1.CreateLoader();
            FileLoader.AfterLoad += (sender, args) => AfterLoad(args.Arg);

            Assembly        assembly = Assembly.GetExecutingAssembly();
            FileVersionInfo fvi      = FileVersionInfo.GetVersionInfo(assembly.Location);

            _version = fvi.FileVersion;
            var versionNumbers = _version.Split('.');

            if (versionNumbers.Length > 3)
            {
                _version = $"{versionNumbers[0]}.{versionNumbers[1]}.{versionNumbers[2]}";
            }

            Text            = "Legends Viewer";
            lblVersion.Text = "v" + _version;
            lblVersion.Left = scWorld.Panel2.ClientSize.Width - lblVersion.Width - 3;
            tcWorld.Height  = scWorld.Panel2.ClientSize.Height;

            Browser = new DwarfTabControl(World)
            {
                Location = new Point(0, btnBack.Bottom + 3)
            };
            Browser.Size   = new Size(scWorld.Panel2.ClientSize.Width - Browser.Left, scWorld.Panel2.ClientSize.Height - Browser.Top);
            Browser.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
            scWorld.Panel2.Controls.Add(Browser);
            foreach (TabPage tp in tcWorld.TabPages)
            {
                foreach (TabControl tabControl in tp.Controls.OfType <TabControl>())
                {
                    HideTabControlBorder(tabControl);
                }
            }

            if (file != "")
            {
                _commandFile = file;
            }

            foreach (var v in tcWorld.TabPages.OfType <TabPage>().SelectMany(x => x.Controls.OfType <BaseSearchTab>()))
            {
                v.Coordinator = Coordinator;
            }

            BrowserUtil.SetBrowserEmulationMode();
            Browser.Navigate(ControlOption.ReadMe);
        }
Exemple #3
0
 public override Control GetControl()
 {
     if (HTMLBrowser == null || HTMLBrowser.IsDisposed)
     {
         BrowserUtil.SetBrowserEmulationMode();
         HTMLBrowser = new WebBrowser
         {
             Dock = DockStyle.Fill,
             WebBrowserShortcutsEnabled = false,
             DocumentText = Printer.GetHTMLPage(),
         };
         HTMLBrowser.DocumentCompleted  += AfterPageLoad;
         HTMLBrowser.Navigating         += BrowserNavigating;
         HTMLBrowser.Document.MouseMove += MouseOver;
         return(HTMLBrowser);
     }
     return(HTMLBrowser);
 }
        public override Control GetControl()
        {
            if (HtmlBrowser == null || HtmlBrowser.IsDisposed)
            {
                BrowserUtil.SetBrowserEmulationMode();

                var    assembly = Assembly.GetExecutingAssembly();
                string markdown;
                var    resourceName = "LegendsViewer.README.md";
                using (StreamReader reader = new StreamReader(assembly.GetManifestResourceStream(resourceName)))
                {
                    markdown = reader.ReadToEnd();
                }
                string readme = GetHtmlByMarkdown(markdown);

                var html = "<html>";
                html += "<head>";
                html += "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">";
                html += "<link rel=\"stylesheet\" href=\"" + LocalFileProvider.LocalPrefix + "WebContent/styles/github-markdown.css\">";
                html += "<style>.markdown-body { margin: 0 auto; padding: 20px; } </style>";
                html += "</head>";
                html += "<body><div class='markdown-body'>" + readme + "</div></body>";
                html += "</html>";

                HtmlBrowser = new WebBrowser
                {
                    Dock = DockStyle.Fill,
                    WebBrowserShortcutsEnabled = false,
                    DocumentText           = html,
                    ScriptErrorsSuppressed = true
                };
                HtmlBrowser.Navigating += BrowserNavigating;

                return(HtmlBrowser);
            }
            return(HtmlBrowser);
        }