Beispiel #1
0
        protected override void OnMouseClick(MouseEventArgs e)
        {
            base.OnMouseClick(e);

            foreach (CssBox box in htmlContainer.LinkRegions.Keys)
            {
                RectangleF rect = htmlContainer.LinkRegions[box];
                if (Rectangle.Round(rect).Contains(e.X, e.Y))
                {
                    //Edit start
                    //CssValue.GoLink(box.GetAttribute("href", string.Empty));
                    string href = box.GetAttribute("href", string.Empty);
                    if (LinkClick != null)
                    {
                        LinkClickEventArgs ev = new LinkClickEventArgs();
                        ev.Href = href;
                        LinkClick(this, ev);
                        if (ev.Handled)
                        {
                            return;
                        }
                    }
                    CssValue.GoLink(href);
                    //Edit End
                    return;
                }
            }
        }
Beispiel #2
0
        private void ClickLink(object sender, RoutedEventArgs e)
        {
            if (this.LinkClick != null)
            {
                HyperlinkButton    button = ( HyperlinkButton )sender;
                LinkClickEventArgs args   = new LinkClickEventArgs()
                {
                    NavigateUri = button.NavigateUri,
                    Action      = button.Tag as string
                };

                this.LinkClick(this, args);
            }
        }
Beispiel #3
0
 private void PdfViewer_LinkClick(object sender, LinkClickEventArgs e)
 {
 }
Beispiel #4
0
        protected override void OnLinkClick(LinkClickEventArgs e)
        {
            base.OnLinkClick(e);

            string url = e.Href;

            if (url.StartsWith("'") && url.EndsWith("'"))
            {
                url = url.Substring(1, url.Length - 2);
            }
            if (url.StartsWith("\"") && url.EndsWith("\""))
            {
                url = url.Substring(1, url.Length - 2);
            }
            if (url.StartsWith("http://") || url.StartsWith("mailto:"))
            {
                try { System.Diagnostics.Process.Start(url); }
                catch
                {
                    StdDialog.ShowError(Texts.Get("s_cannot_open$url", "url", url));
                }
                e.Handled = true;
            }
            if (url.StartsWith("callback://"))
            {
                e.Handled = true;
                try
                {
                    string mtdname = url.Substring("callback://".Length);
                    Dictionary <string, string> pars = null;
                    if (mtdname.Contains("?"))
                    {
                        pars = new Dictionary <string, string>();
                        string[] pair = mtdname.Split('?');
                        mtdname = pair[0];
                        foreach (string parstr in pair[1].Split('&'))
                        {
                            string[] p2 = parstr.Split(':');
                            if (p2.Length != 2)
                            {
                                continue;
                            }
                            pars[p2[0]] = HttpUtility.UrlDecode(p2[1]);
                        }
                    }
                    if (mtdname.EndsWith("/"))
                    {
                        mtdname = mtdname.Substring(0, mtdname.Length - 1);
                    }
                    object mtd = Procedures[mtdname];
                    if (mtd is Action)
                    {
                        ((Action)mtd)();
                    }
                    else if (mtd is Action <Dictionary <string, string> > )
                    {
                        ((Action <Dictionary <string, string> >)mtd)(pars);
                    }
                    else
                    {
                        // using reflection we call method, which name is after callback://
                        Type       tp   = mtd.GetType();
                        MethodInfo call = tp.GetMethod("Call", new Type[] { (new object[] { }).GetType() });
                        if (call != null)
                        {
                            call.Invoke(mtd, new object[] { new object[] { } });
                        }
                        call = tp.GetMethod("Call", new Type[] { (new object[] { typeof(Dictionary <string, string>) }).GetType() });
                        if (call != null)
                        {
                            call.Invoke(mtd, new object[] { new object[] { pars } });
                        }
                    }
                }
                catch (Exception err)
                {
                    Errors.Report(err);
                }
            }
        }
 private void viewer_LinkClick(object sender, LinkClickEventArgs e)
 {
     if (e.NavigateUri.IsAbsoluteUri && (e.NavigateUri.Scheme == Uri.UriSchemeHttp || e.NavigateUri.Scheme == Uri.UriSchemeHttps)) {
         HtmlPage.Window.Navigate(e.NavigateUri, "_blank");
     }
 }
Beispiel #6
0
        private void TwitterStatusViewer_LinkClick(object sender, LinkClickEventArgs e)
        {
            string url;
            switch (e.Url[0]) {
                case '@':
                    url = "https://twitter.com/" + e.Url.Substring (1);
                    break;
                case '#':
                    url = "https://search.twitter.com/search?q=" + Uri.EscapeUriString (e.Url.Substring (1));
                    break;
                case '/':
                    url = "https://twitter.com" + e.Url;
                    break;
                default:
                    url = e.Url;
                    break;
            }

            try {
                Process.Start (url);
            } catch {}
        }
Beispiel #7
0
 // a hyper link was clicked on the PdfViewer control..
 private void PdfViewer_LinkClick(object sender, LinkClickEventArgs e)
 {
     e.Handled = true;
     // ..so display a Gecko based web browser with the link's address..
     new FormWebBrowserGecko(e.Link.Uri).Show();
 }