#ifndef APITRACEFILTER_H
#define APITRACEFILTER_H
+#include <QRegExp>
#include <QSortFilterProxyModel>
+class ApiTraceCall;
+
class ApiTraceFilter : public QSortFilterProxyModel
{
Q_OBJECT
public:
enum FilterOption {
- NullFilter = 0,
+ NullFilter = 0,
ExtensionsFilter = 1 << 0,
ResolutionsFilter = 1 << 1,
ErrorsQueryFilter = 1 << 2,
ExtraStateFilter = 1 << 3,
+ CustomFilter = 1 << 4,
};
Q_DECLARE_FLAGS(FilterOptions, FilterOption)
public:
FilterOptions filterOptions() const;
void setFilterOptions(FilterOptions opts);
- void setFilterString(const QString &text);
+ 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