]> git.cworth.org Git - apitrace/blobdiff - gui/apitracefilter.h
common: Add more comments.
[apitrace] / gui / apitracefilter.h
index f2ad91bd09a5de152b2b092ddb7a636a67310693..35f627df431f8a45f0e2647f04ef2c95447cdef9 100644 (file)
@@ -1,21 +1,44 @@
 #ifndef APITRACEFILTER_H
 #define APITRACEFILTER_H
 
+#include <QRegExp>
 #include <QSortFilterProxyModel>
 
+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 &regexp);
+    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