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