File indexing completed on 2024-12-01 10:29:04

0001 /* This file is part of the KDE project
0002    Copyright (C) 2006 Jarosław Staniek <staniek@kde.org>
0003 
0004    This program is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This program is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this program; see the file COPYING.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #ifndef KDB_TOOLS_FIELDVALIDATOR_H
0021 #define KDB_TOOLS_FIELDVALIDATOR_H
0022 
0023 #include "KDbValidator.h"
0024 
0025 class KDbField;
0026 
0027 //! @short A validator for KDb data types
0028 /*! This can be used by QLineEdit or subclass to provide validated
0029   text entry. Curently is supports all integer types, floating point types and booleans.
0030   Internal validators like KIntValidator or KDbLongLongValidator are used.
0031   'unsigned' and 'scale' parameters are taken into account when setting up internal validators.
0032   @todo date/time support for types
0033   @todo add validation of the maximum length and other field's properties
0034 */
0035 class KDB_EXPORT KDbFieldValidator : public KDbMultiValidator
0036 {
0037     Q_OBJECT
0038 public:
0039     //! Setups the validator for @a field. Does not keep a pointer to @a field.
0040     explicit KDbFieldValidator(const KDbField &field, QWidget * parent = nullptr);
0041     ~KDbFieldValidator() override;
0042 private:
0043     Q_DISABLE_COPY(KDbFieldValidator)
0044 };
0045 
0046 #endif