private void SetSearchKeywords_EXECUTE(string search_string)
        {
            // Check if we are repeating the search or not...
            if (previous_search_string != search_string)
            {
                FeatureTrackingManager.Instance.UseFeature(Features.Document_Search);
                previous_search_string     = search_string;
                previous_search_result_set = PDFSearcher.Search(pdf_renderer_control_stats.pdf_document, search_string);
            }
            else
            {
                FeatureTrackingManager.Instance.UseFeature(Features.Document_SearchAgain);
            }

            PDFSearchResultSet search_result_set = previous_search_result_set;

            // Set the PDF viewer search results
            pdf_renderer_control.SetSearchKeywords(search_result_set);

            // Set the bottom list box search results
            if (null != search_result_set && search_result_set.Count > 0)
            {
                GridBOTTOM.Visibility = Visibility.Visible;
            }
            else
            {
                GridBOTTOM.Visibility = Visibility.Collapsed;
            }

            ListSearchDetails.DataContext = search_result_set.AsList();
        }
        public static bool DoesBibTeXMatchDocument(BibTexItem bibtex_item, PDFDocument pdf_document, out PDFSearchResultSet search_result_set)
        {
            try
            {
                string authors_string = BibTexTools.GetAuthor(bibtex_item);
                if (!String.IsNullOrEmpty(authors_string))
                {
                    List <NameTools.Name> names = NameTools.SplitAuthors(authors_string, PDFDocument.UNKNOWN_AUTHORS);
                    StringBuilder         sb    = new StringBuilder();
                    foreach (NameTools.Name name in names)
                    {
                        sb.AppendFormat("\"{0}\" ", name.last_name);
                    }

                    string names_search_string = sb.ToString();
                    if (!String.IsNullOrEmpty(names_search_string))
                    {
                        search_result_set = PDFSearcher.Search(pdf_document, 1, names_search_string, PDFSearcher.MATCH_CONTAINS);
                        if (0 < search_result_set.Count)
                        {
                            return(true);
                        }
                    }
                }
            }
            catch (Exception) { }

            search_result_set = new PDFSearchResultSet();
            return(false);
        }
Ejemplo n.º 3
0
        private void ButtonSearchInside_Click(object sender, RoutedEventArgs e)
        {
            FeatureTrackingManager.Instance.UseFeature(Features.Library_SearchInsideOpen);

            PDFSearchResultSet search_result_set = PDFSearcher.Search(PDFDocumentBindable.Underlying, LibraryCatalogControl.FilterTerms);

            ListSearchDetails.DataContext = search_result_set.AsList();
            ObjLookInsidePanel.Visibility = Visibility.Visible;
        }