SearchResultWindow Class

class Core::SearchResultWindow

The SearchResultWindow class is the implementation of a commonly shared Search Results output pane. More...

Header: #include <coreplugin/find/searchresultwindow.h>
Inherits: Core::IOutputPane

Public Types

enum PreserveCaseMode { PreserveCaseEnabled, PreserveCaseDisabled }
enum SearchMode { SearchOnly, SearchAndReplace }

Public Functions

void openNewSearchPanel()
void setTabWidth(int tabWidth)
Core::SearchResult *startNewSearch(const QString &label, const QString &toolTip, const QString &searchTerm, Core::SearchResultWindow::SearchMode searchOrSearchAndReplace = SearchOnly, Core::SearchResultWindow::PreserveCaseMode preserveCaseMode = PreserveCaseEnabled, const QString &cfgGroup = QString())

Public Slots

virtual void clearContents() override

Static Public Members

Core::SearchResultWindow *instance()

Detailed Description

{Search Results view}

Whenever you want to show the user a list of search results, or want to present UI for a global search and replace, use the single instance of this class.

In addition to being an implementation of an output pane, the SearchResultWindow has functions and enums that enable other plugins to show their search results and hook into the user actions for selecting an entry and performing a global replace.

Whenever you start a search, call startNewSearch(SearchMode) to initialize the Search Results output pane. The parameter determines if the GUI for replacing should be shown. The function returns a SearchResult object that is your hook into the signals from user interaction for this search. When you produce search results, call addResults() or addResult() to add them to the Search Results output pane. After the search has finished call finishSearch() to inform the Search Results output pane about it.

You will get activated() signals via your SearchResult instance when the user selects a search result item. If you started the search with the SearchAndReplace option, the replaceButtonClicked() signal is emitted when the user requests a replace.

Member Type Documentation

enum SearchResultWindow::PreserveCaseMode

This enum type specifies whether a search and replace should preserve the case of the replaced strings:

ConstantValueDescription
Core::SearchResultWindow::PreserveCaseEnabled0The case is preserved when replacings strings.
Core::SearchResultWindow::PreserveCaseDisabled1The given case is used when replacing strings.

enum SearchResultWindow::SearchMode

This enum type specifies whether a search should show the replace UI or not:

ConstantValueDescription
Core::SearchResultWindow::SearchOnly0The search does not support replace.
Core::SearchResultWindow::SearchAndReplace1The search supports replace, so show the UI for it.

Member Function Documentation

[override virtual slot] void SearchResultWindow::clearContents()

Reimplements: IOutputPane::clearContents().

Clears the current contents of the Search Results output pane.

[static] Core::SearchResultWindow *SearchResultWindow::instance()

Returns the single shared instance of the Search Results output pane.

void SearchResultWindow::openNewSearchPanel()

Opens a new search panel.

void SearchResultWindow::setTabWidth(int tabWidth)

Sets the Search Results tab width to tabWidth.

Core::SearchResult *SearchResultWindow::startNewSearch(const QString &label, const QString &toolTip, const QString &searchTerm, Core::SearchResultWindow::SearchMode searchOrSearchAndReplace = SearchOnly, Core::SearchResultWindow::PreserveCaseMode preserveCaseMode = PreserveCaseEnabled, const QString &cfgGroup = QString())

Tells the Search Results output pane to start a new search.

The label should be a string that shortly describes the type of the search, that is, the search filter and possibly the most relevant search option, followed by a colon (:). For example: Project 'myproject': The searchTerm is shown after the colon.

The toolTip should elaborate on the search parameters, like file patterns that are searched and find flags.

If cfgGroup is not empty, it will be used for storing the do not ask again setting of a this change cannot be undone warning (which is implicitly requested by passing a non-empty group).

The searchOrSearchAndReplace parameter holds whether the search results pane should show a UI for a global search and replace action. The preserveCaseMode parameter holds whether the case of the search string should be preserved when replacing strings.

Returns a SearchResult object that is used for signaling user interaction with the results of this search. The search result window owns the returned SearchResult and might delete it any time, even while the search is running. For example, when the user clears the Search Results pane, or when the user opens so many other searches that this search falls out of the history.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.