]> git.cworth.org Git - apitrace/blobdiff - gui/apitracefilter.h
d3dretrace: Force DWM traces to run on a window.
[apitrace] / gui / apitracefilter.h
index 2bd85575cdf90b7b12f93a34fdf53bc6d952ea82..35f627df431f8a45f0e2647f04ef2c95447cdef9 100644 (file)
@@ -1,18 +1,22 @@
 #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:
@@ -21,15 +25,20 @@ public:
     FilterOptions filterOptions() const;
     void setFilterOptions(FilterOptions opts);
 
-    void setFilterString(const QString &text);
+    void setFilterRegexp(const QRegExp &regexp);
+    QRegExp filterRegexp() const;
+
+    void setCustomFilterRegexp(const QString &str);
+    QString customFilterRegexp() const;
 
-    QModelIndex callIndex(int callNum) 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