LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
idatafilter.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <functional>
12 #include <QtPlugin>
13 #include <QString>
14 #include <QList>
15 #include <QIcon>
16 #include <QMetaType>
17 
29 typedef std::function<void (QVariant)> DataFilterCallback_f;
30 
69 class Q_DECL_EXPORT IDataFilter
70 {
71 public:
76  {
82  QByteArray ID_;
83 
86  QString Name_;
87 
90  QString Description_;
91 
94  QIcon Icon_;
95  };
96 
97  virtual ~IDataFilter () {}
98 
108  virtual QString GetFilterVerb () const = 0;
109 
121  virtual QList<FilterVariant> GetFilterVariants (const QVariant& data) const = 0;
122 };
123 
125 Q_DECLARE_INTERFACE (IDataFilter, "org.Deviant.LeechCraft.IDataFilter/1.0")
DataFilterCallback_f
std::function< void(QVariant)> DataFilterCallback_f
The type to be used as a data filter callback.
Definition: idatafilter.h:29
QList
Definition: ianrulesstorage.h:14
IDataFilter::FilterVariant::Name_
QString Name_
The human-readable name of the filter variant.
Definition: idatafilter.h:86
IDataFilter::~IDataFilter
virtual ~IDataFilter()
Definition: idatafilter.h:97
IDataFilter::FilterVariant::Description_
QString Description_
The description of the filter variant.
Definition: idatafilter.h:90
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
IDataFilter
Base interface for data filter plugins.
Definition: idatafilter.h:69
IDataFilter::FilterVariant
Describes a single filter variant supported by this data filter.
Definition: idatafilter.h:75
IDataFilter::FilterVariant::ID_
QByteArray ID_
The ID of this filter variant.
Definition: idatafilter.h:82
IDataFilter::FilterVariant::Icon_
QIcon Icon_
The icon representing the filter variant.
Definition: idatafilter.h:94