00001
00002
00003
00004
00005 #ifndef FILTER_H
00006 #define FILTER_H
00007
00008 #include <QObject>
00009 #include <QList>
00010
00011 class QActionGroup;
00012
00015 class Filter : public QObject
00016 {
00017 Q_OBJECT
00018 public:
00022 explicit Filter(QObject *parent = 0);
00023
00028 virtual int filterableType() const = 0;
00029
00032 virtual bool isFiltered(QVariant value) const = 0;
00033
00036 virtual QActionGroup* createActions() = 0;
00037
00038 protected:
00040 void emitStateChanged();
00041
00042 signals:
00043 void stateChanged(int type = -1);
00044 };
00045
00046 #endif // FILTER_H