KDb

KDbObjectNameValidator.h
1/* This file is part of the KDE project
2 Copyright (C) 2004-2016 Jarosław Staniek <staniek@kde.org>
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this program; see the file COPYING. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef KDBOBJECTNAMEVALIDATOR_H
21#define KDBOBJECTNAMEVALIDATOR_H
22
23#include <QString>
24#include "KDbValidator.h"
25
26class KDbDriver;
27
28/*! Validates input:
29 accepts if the name is not reserved for internal kexi objects. */
30class KDB_EXPORT KDbObjectNameValidator : public KDbValidator
31{
32 Q_OBJECT
33public:
34 /*! @a drv is a KDb driver on which isSystemObjectName() will be
35 called inside check(). If @a drv is 0, KDbDriver::isKDbSystemObjectName()
36 static function is called instead. */
37 explicit KDbObjectNameValidator(const KDbDriver *drv, QObject * parent = nullptr);
38 ~KDbObjectNameValidator() override;
39
40protected:
41 KDbValidator::Result internalCheck(const QString &valueName, const QVariant &value,
42 QString *message, QString *details) override;
43
44private:
45 class Private;
46 Private * const d;
47 Q_DISABLE_COPY(KDbObjectNameValidator)
48};
49
50#endif
Database driver's abstraction.
Definition KDbDriver.h:50
A validator extending QValidator with offline-checking for value's validity.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:19:07 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.