ADTF  3.18.3
cSearchTextWidget

cSearchTextWidget allows to filter a given QSortProxyModel to be filtered by normal text, text with wildcards, regular expressions, fuzzy text. More...

Inheritance diagram for cSearchTextWidget:
[legend]

Signals

void selectedFilterColumnChanged ()
 This signal is emitted when the selected filter column changed.
 
void searchParametersChanged ()
 This signal is emitted when the search parameters changed.
 
void resultChanged ()
 This signal is emitted when the filtered result changed.
 

Public Member Functions

 cSearchTextWidget (QWidget *pParent=nullptr)
 
void ShowBottomBorder (bool show)
 
void SetFilterModel (cFilterModel &oFilterModel)
 
uint64_t GetSelectedFilterColumn () const
 
void SetFilterColumnNames (const std::vector< QString > &vecFilterColumnNames)
 
void SetFilterColumnNamesFromModel (const QAbstractItemModel &oModel)
 
void SetSearchText (const QString &strSearchText)
 
void Clear ()
 Clears the search text.
 
FilterType GetSelectedFilterType () const
 
void SelectFilterType (FilterType oFilterType)
 
bool IsCaseSensitive () const
 Returns whether 'case sensitive' is selected.
 
void SetCaseSensitive (bool bCaseSensitive)
 

Private Member Functions

bool event (QEvent *event) override
 
void UpdateStyle ()
 
void UpdateUi ()
 
void SetItemTextOutOfDate ()
 
void HandleChangedSearchParameters (bool bTextChanged)
 
void SearchNormalString ()
 
void SearchWildcard ()
 
void SearchRegexString ()
 
void SearchFuzzy ()
 
QSet< QString > ComputeItemTexts (const QModelIndex &oModelIndex, const uint64_t nFilterColumn)
 
void ComputeTreeModelIndexs (const QModelIndex &oModelIndex, const uint64_t nFilterColumn, const std::function< void(const QModelIndex &oIndex)> &fnCallback)
 

Private Attributes

bool m_bShowBottomBorder = true
 
cFilterModelm_pFilterModel = nullptr
 
QAbstractItemModel * m_pSourceModel = nullptr
 
QLineEdit * m_pSearchTextLineEdit = nullptr
 
QLabel * m_pErrorLabel = nullptr
 
QToolButton * m_pClearButton = nullptr
 
QMenu * m_pFilterMenu = nullptr
 
QActionGroup * m_pFilterActionGroup = nullptr
 
QAction * m_pFuzzyFilterAction = nullptr
 
QAction * m_pCaseSensitiveAction = nullptr
 
QPushButton * m_pFilterButton = nullptr
 
QMenu * m_pFilterColumnMenu = nullptr
 
QActionGroup * m_pFilterColumnActionGroup = nullptr
 
QWidget * m_pFuzzyParametersWidget = nullptr
 
QSpinBox * m_pFuzzyScaledScoreThresholdSpinBox = nullptr
 
bool m_bIsInInitialization = false
 
QSet< QString > m_setItemTextCache
 
QThreadPool m_oSearchThreadPool
 
std::atomic< bool > m_bSearchCanceled = false
 
bool m_bSearchRequested = false
 
std::chrono::time_point< std::chrono::system_clock > m_oKeyPressedTimestamp
 

Detailed Description

cSearchTextWidget allows to filter a given QSortProxyModel to be filtered by normal text, text with wildcards, regular expressions, fuzzy text.

This control can embedded in QWidget based UIs.

Definition at line 89 of file search_text_widget.h.