private void Button_Click(object sender, RoutedEventArgs e)
        {
            WebBrowser         webBrowser = (sender as Button).FindName("webBrowser") as WebBrowser;
            Border             border     = (sender as Button).FindName("border") as Border;
            HyperlinkTextBlock hyperlink  = (sender as Button).FindName("hyperlink") as HyperlinkTextBlock;

            string url = (webBrowser.DataContext as WebUrlChatMessage).Url;

            url = Regex.Replace(url, @"^/web ", string.Empty);

            if (url.IndexOf(@"youtube.com/watch?v=") > 0)
            {
                url  = url.Replace("/watch?v=", "/v/");
                url += "&hl=en";
                webBrowser.Height = 240;
                webBrowser.Width  = 320;
            }
            try
            {
                webBrowser.Navigate(url);
                webBrowser.Visibility = System.Windows.Visibility.Visible;
                hyperlink.Visibility  = Visibility.Visible;
                border.Visibility     = Visibility.Collapsed;
            }
            catch
            {
                webBrowser.Visibility = System.Windows.Visibility.Collapsed;
                border.Visibility     = System.Windows.Visibility.Collapsed;
                hyperlink.Visibility  = Visibility.Collapsed;
            }
        }
Beispiel #2
0
        public static HyperlinkTextBlock xxxGetClearHyperlink(string header, MouseButtonEventHandler on_click)
        {
            HyperlinkTextBlock hyperlink_clear = new HyperlinkTextBlock();

            hyperlink_clear.Text     = header;
            hyperlink_clear.OnClick += on_click;
            return(hyperlink_clear);
        }
Beispiel #3
0
        private void OpenUrlInTagOfTextBlock(object sender, MouseButtonEventArgs e)
        {
            HyperlinkTextBlock tb  = (HyperlinkTextBlock)sender;
            string             url = (string)tb.Tag;

            MainWindowServiceDispatcher.Instance.OpenUrlInBrowser(url);
            e.Handled = true;
        }
Beispiel #4
0
        public void SpecifyPaperSet(GoogleScholarScrapePaperSet gssps)
        {
            DocsPanel.Children.Clear();

            {
                // Add the header
                StackPanel         sp    = new StackPanel();
                HyperlinkTextBlock tb_gs = new HyperlinkTextBlock();
                tb_gs.HorizontalAlignment = HorizontalAlignment.Center;
                tb_gs.Text       = "Go to GoogleScholar";
                tb_gs.FontWeight = FontWeights.Bold;
                tb_gs.Tag        = gssps.Url;
                tb_gs.OnClick   += OpenUrlInTagOfTextBlock;
                sp.Children.Add(tb_gs);
                DocsPanel.Children.Add(sp);
                DocsPanel.Children.Add(new AugmentedSpacer());
            }

            bool alternate = false;

            foreach (var gssp in gssps.Papers)
            {
                StackPanel sp = new StackPanel();

                try
                {
                    string html = gssp.abstract_html;
                    html = html.Replace("<br>", " ");
                    string       xaml = HtmlToXamlConverter.ConvertHtmlToXaml(html, true);
                    FlowDocument fd   = (FlowDocument)XamlReader.Parse(xaml);
                    RichTextBox  rtb  = new RichTextBox(fd);
                    rtb.Width  = 320;
                    rtb.Height = 200;
                    sp.ToolTip = rtb;
                }
                catch (Exception ex)
                {
                    Logging.Warn(ex, "Problem parsing GS HTML abstract");
                }

                if (null != gssp.source_url)
                {
                    HyperlinkTextBlock tb_title = new HyperlinkTextBlock();
                    tb_title.Text     = gssp.title;
                    tb_title.Tag      = gssp.source_url;
                    tb_title.OnClick += OpenUrlInTagOfTextBlock;
                    sp.Children.Add(tb_title);
                }
                else
                {
                    TextBlock tb_title = new TextBlock();
                    tb_title.Text       = gssp.title;
                    tb_title.FontWeight = FontWeights.Bold;
                    sp.Children.Add(tb_title);
                }

                TextBlock tb_authors = new TextBlock();
                tb_authors.Text = gssp.authors;
                sp.Children.Add(tb_authors);

                TextBlock tb_citedby = new TextBlock();
                tb_citedby.Text = gssp.cited_by_header;
                sp.Children.Add(tb_citedby);

                if (0 < DocsPanel.Children.Count)
                {
                    DocsPanel.Children.Add(new AugmentedSpacer());
                }

                alternate = !alternate;
                ListFormattingTools.AddGlowingHoverEffect(sp);

                DocsPanel.Children.Add(sp);
            }
        }