Workspace 6.21.5
Classes | Public Types | Public Member Functions | List of all members
Filter Class Reference

Filter elements with given expressions. More...

#include <Workspace/Application/filter.h>

Classes

class  Context
 

Public Types

typedef std::function< QVariant(int index)> Accessor
 

Public Member Functions

 Filter ()
 
void defineDateCompare (QString key, int index, QStringList ops={"=", "<", ">"})
 
void defineStringCompare (QString key, int index, QStringList ops={"=", "!=", "<>", "~", "!~"})
 
Context parse (const QString &filterString) const
 split filter string into standalone expressions each contains a form of key op value where the key is a single word, op is one of ops defined.
 
QString removeExpression (const QString &filterString, const QString &key)
 
QString replaceExpression (const QString &filterString, const QString &expression)
 
QStringList splitExpression (const QString &filterString) const
 

Detailed Description

Stage 1: define compare of interest with define*Compare() methods Stage 2: use splitExpression() to construct a Context based on the filter expressions Stage 3: use the Context to filter elements

Member Typedef Documentation

◆ Accessor

typedef std::function<QVariant(int index)> Accessor

Constructor & Destructor Documentation

◆ Filter()

Filter ( )

Member Function Documentation

◆ defineDateCompare()

void defineDateCompare ( QString  key,
int  index,
QStringList  ops = {"=", "<", ">"} 
)
inline

◆ defineStringCompare()

void defineStringCompare ( QString  key,
int  index,
QStringList  ops = {"=", "!=", "<>", "~", "!~"} 
)
inline

◆ parse()

Filter::Context parse ( const QString &  filterString) const
See also
defineOp()

◆ removeExpression()

QString removeExpression ( const QString &  filterString,
const QString &  key 
)

◆ replaceExpression()

QString replaceExpression ( const QString &  filterString,
const QString &  expression 
)

◆ splitExpression()

QStringList splitExpression ( const QString &  filterString) const