Code Documentation 3.5
Social Network Visualizer
Loading...
Searching...
No Matches
filter_condition.h
Go to the documentation of this file.
1
13#pragma once
14
15#include <QString>
16
24{
25 enum class Scope { Nodes, Edges, Both };
26 enum class Op { Eq, Neq, Gt, Lt, Gte, Lte, Contains };
27
29 QString key;
31 QString value;
32
34 QString label() const
35 {
36 QString scopeStr;
37 switch (scope) {
38 case Scope::Nodes: scopeStr = QStringLiteral("Nodes"); break;
39 case Scope::Edges: scopeStr = QStringLiteral("Edges"); break;
40 case Scope::Both: scopeStr = QStringLiteral("Nodes+Edges"); break;
41 }
42
43 QString opStr;
44 switch (op) {
45 case Op::Eq: opStr = QStringLiteral("="); break;
46 case Op::Neq: opStr = QStringLiteral("≠"); break;
47 case Op::Gt: opStr = QStringLiteral(">"); break;
48 case Op::Lt: opStr = QStringLiteral("<"); break;
49 case Op::Gte: opStr = QStringLiteral("≥"); break;
50 case Op::Lte: opStr = QStringLiteral("≤"); break;
51 case Op::Contains: opStr = QStringLiteral("contains"); break;
52 }
53
54 return scopeStr + QLatin1String(": ") + key + QLatin1Char(' ') + opStr + QLatin1Char(' ') + value;
55 }
56};
Describes a single attribute-based filter condition.
Definition filter_condition.h:24
QString value
Definition filter_condition.h:31
Op op
Definition filter_condition.h:30
Op
Definition filter_condition.h:26
Scope scope
Definition filter_condition.h:28
QString label() const
Definition filter_condition.h:34
Scope
Definition filter_condition.h:25
QString key
Definition filter_condition.h:29