File indexing completed on 2024-05-12 16:40:56
0001 /* This file is part of the KDE project 0002 Copyright (C) 2006-2015 Jarosław Staniek <staniek@kde.org> 0003 0004 This library 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 library 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 library; see the file COPYING.LIB. 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 KEXIQUERYPARAMETERS_H 0021 #define KEXIQUERYPARAMETERS_H 0022 0023 #include "kexiextwidgets_export.h" 0024 0025 #include <KDbQuerySchema> 0026 0027 //! @short Utilities providing GUI for getting query parameters 0028 class KEXIEXTWIDGETS_EXPORT KexiQueryParameters 0029 { 0030 public: 0031 /*! Asks for query parameters using a QInputDialog, one dialog per query parameter 0032 (see KDbQuerySchema::parameters()). The type of each dialog depends 0033 on the type of query parameter. 0034 \return list of values obtained from the user 0035 \a ok is set to true on success and to false on failure. */ 0036 //! @todo do not use QInputDialog - switch to more powerful custom dialog 0037 //! @todo offer option to display one dialog (form) with all the parameters 0038 //! @todo support more types (using validators) 0039 //! @todo support defaults 0040 //! @todo support validation rules, e.g. min/max value, unsigned 0041 //! @todo support Enum type (list of strings, need support for keys and user-visible strings) 0042 static QList<QVariant> getParameters(QWidget *parent, KDbConnection *conn, 0043 KDbQuerySchema *querySchema, bool *ok); 0044 }; 0045 0046 #endif // KEXIDBCONNECTIONWIDGET_H