X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracefilter.h;h=35f627df431f8a45f0e2647f04ef2c95447cdef9;hb=7a9fb5103e052150232b64cb5d99374cda3f1234;hp=a3ac1b078100bf3f66958fca106c499c14c86fa0;hpb=96130aca85f0d828cae3da84dc9a7e258cbeb22a;p=apitrace diff --git a/gui/apitracefilter.h b/gui/apitracefilter.h index a3ac1b0..35f627d 100644 --- a/gui/apitracefilter.h +++ b/gui/apitracefilter.h @@ -1,17 +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); + 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