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