X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracefilter.h;h=35f627df431f8a45f0e2647f04ef2c95447cdef9;hb=3801952b80cd7a7160f6410518f6e3740d461b60;hp=f2ad91bd09a5de152b2b092ddb7a636a67310693;hpb=ea2954577e018f7151f88276c8a061ad64ed7c5f;p=apitrace diff --git a/gui/apitracefilter.h b/gui/apitracefilter.h index f2ad91b..35f627d 100644 --- a/gui/apitracefilter.h +++ b/gui/apitracefilter.h @@ -1,21 +1,44 @@ #ifndef APITRACEFILTER_H #define APITRACEFILTER_H +#include #include +class ApiTraceCall; + class ApiTraceFilter : public QSortFilterProxyModel { Q_OBJECT - +public: + enum FilterOption { + NullFilter = 0, + ExtensionsFilter = 1 << 0, + ResolutionsFilter = 1 << 1, + ErrorsQueryFilter = 1 << 2, + ExtraStateFilter = 1 << 3, + CustomFilter = 1 << 4, + }; + Q_DECLARE_FLAGS(FilterOptions, FilterOption) public: ApiTraceFilter(QObject *parent = 0); - void setFilterString(const QString &text); + FilterOptions filterOptions() const; + void setFilterOptions(FilterOptions opts); + + void setFilterRegexp(const QRegExp ®exp); + QRegExp filterRegexp() const; + + void setCustomFilterRegexp(const QString &str); + QString customFilterRegexp() const; + + QModelIndex indexForCall(ApiTraceCall *call) const; protected: bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; private: - QString m_text; + QRegExp m_regexp; + FilterOptions m_filters; + QRegExp m_customRegexp; }; #endif