digiKam
Loading...
Searching...
No Matches
fieldquerybuilder.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2007-03-22
7 * Description : database SQL queries helper class
8 *
9 * SPDX-FileCopyrightText: 2007-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QList>
21#include <QString>
22
23// Local includes
24
25#include "coredbsearchxml.h"
26
27namespace Digikam
28{
29
30class ItemQueryPostHooks;
31
32class Q_DECL_HIDDEN FieldQueryBuilder
33{
34public:
35
36 FieldQueryBuilder(QString& sql,
38 QList<QVariant>* boundValues,
39 ItemQueryPostHooks* const hooks,
40 SearchXml::Relation relation);
41
42public:
43
44 QString& sql;
46 QList<QVariant>* boundValues;
47 ItemQueryPostHooks* hooks = nullptr;
48 SearchXml::Relation relation = SearchXml::Equal;
49
50public:
51
52 QString prepareForLike(const QString& str) const;
53
54 void addIntField(const QString& name);
55 void addLongField(const QString& name);
56 void addDoubleField(const QString& name);
57 void addStringField(const QString& name);
58 void addDateField(const QString& name);
59 void addChoiceIntField(const QString& name);
60 void addLongListField(const QString& name);
61 void addIntBitmaskField(const QString& name);
62 void addChoiceStringField(const QString& name);
63 void addPosition();
64 void addRectanglePositionSearch(double lon1, double lat1, double lon2, double lat2) const;
65};
66
67} // namespace Digikam
Definition fieldquerybuilder.h:33
QList< QVariant > * boundValues
Definition fieldquerybuilder.h:46
SearchXmlCachingReader & reader
Definition fieldquerybuilder.h:45
QString & sql
Definition fieldquerybuilder.h:44
Definition itemqueryposthooks.h:54
Definition coredbsearchxml.h:366
Relation
Definition coredbsearchxml.h:56
Definition datefolderview.cpp:34