X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracefilter.h;h=35f627df431f8a45f0e2647f04ef2c95447cdef9;hb=3801952b80cd7a7160f6410518f6e3740d461b60;hp=c19a5e2ccd3ca2ae22ea9e0d9c00fcd470274942;hpb=9106537b9d36c50e97375fda7788e6128a1adda0;p=apitrace diff --git a/gui/apitracefilter.h b/gui/apitracefilter.h index c19a5e2..35f627d 100644 --- a/gui/apitracefilter.h +++ b/gui/apitracefilter.h @@ -1,18 +1,44 @@ #ifndef APITRACEFILTER_H #define APITRACEFILTER_H +#include #include -//! [0] +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); + 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: + QRegExp m_regexp; + FilterOptions m_filters; + QRegExp m_customRegexp; }; #endif