Example #1
0
 private void ShowSearch()
 {
     TabPage tabPage = new TabPage("New Search");
       SearchControl searchControl = new SearchControl();
       searchControl.toolStripButton_Search.Click += new EventHandler(searches_ToolStripButton_Click);
       searchControl.listView_Results.ItemActivate += new EventHandler(searches_ListView_ItemActivate);
       tabPage.Controls.Add(searchControl);
       searches_TabControl.TabPages.Add(tabPage);
       searches_TabControl.SelectedTab = tabPage;
       splitView.Panel2Collapsed = false;
       if (splitView.Panel2.ClientSize.Height < 200)
     splitView.SplitterDistance -= 200 - splitView.Panel2.ClientSize.Height;
       searchControl.toolStripTextBox_SearchString.Focus();
 }
Example #2
0
 private void Search(SearchControl control)
 {
     // Set appropriate flag
       SearchFlags flags = SearchFlags.Empty;
       if (control.toolStripMenuItem_RegExp.Checked)
     flags |= SearchFlags.RegExp;
       if (control.toolStripMenuItem_MatchCase.Checked)
     flags |= SearchFlags.MatchCase;
       if (control.toolStripMenuItem_WholeWord.Checked)
     flags |= SearchFlags.WholeWord;
       if (control.toolStripMenuItem_WordStart.Checked)
     flags |= SearchFlags.WordStart;
       // Determine search location
       List<Script> searchLocation = new List<Script>();
       if (control.toolStripComboBox_Scope.SelectedIndex == 0)
       {
     Script script = GetActiveScript();
     if (script != null)
       searchLocation.Add(script);
       }
       else if (control.toolStripComboBox_Scope.SelectedIndex == 1)
       {
     foreach (Script script in _scripts)
       if (script.Opened)
     searchLocation.Add(script);
       }
       else
     searchLocation = _scripts;
       // Execute search
       if (searchLocation.Count > 0)
       {
     control.listView_Results.Items.Clear();
     control.Parent.Text = control.toolStripTextBox_SearchString.Text;
     control.label_Statistics.Text = "Searching...";
     control.label_Statistics.Update();
     int scriptCount = 0;
     Enabled = false;
     foreach (Script script in searchLocation)
     {
       SearchResult[] results = script.Search(control.toolStripTextBox_SearchString.Text, flags);
       if (results.Length > 0)
       {
     scriptCount++;
     control.listView_Results.Items.AddRange(results);
     control.label_Statistics.Text = string.Format(@"{0} result{1} found in {2} script{3}.",
         control.listView_Results.Items.Count, control.listView_Results.Items.Count > 1 ? "s" : "",
         scriptCount, scriptCount > 1 ? "s" : "");
     control.label_Statistics.Update();
       }
     }
     Enabled = true;
     if (scriptCount == 0)
       control.label_Statistics.Text = "No matching results were found in the search.";
       }
       else
     control.label_Statistics.Text = "There is currently no open document to search.";
 }