1 /**************************************************************************** 2 ** 3 ** Definition of QSqlForm class 4 ** 5 ** Created : 2000-11-03 6 ** 7 ** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. 8 ** 9 ** This file is part of the sql module of the Qt GUI Toolkit. 10 ** 11 ** This file may be distributed under the terms of the Q Public License 12 ** as defined by Trolltech ASA of Norway and appearing in the file 13 ** LICENSE.QPL included in the packaging of this file. 14 ** 15 ** This file may be distributed and/or modified under the terms of the 16 ** GNU General Public License version 2 as published by the Free Software 17 ** Foundation and appearing in the file LICENSE.GPL included in the 18 ** packaging of this file. 19 ** 20 ** Licensees holding valid Qt Enterprise Edition licenses may use this 21 ** file in accordance with the Qt Commercial License Agreement provided 22 ** with the Software. 23 ** 24 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26 ** 27 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28 ** information about Qt Commercial License Agreements. 29 ** See http://www.trolltech.com/qpl/ for QPL licensing information. 30 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 31 ** 32 ** Contact info@trolltech.com if any conditions of this licensing are 33 ** not clear to you. 34 ** 35 **********************************************************************/ 36 37 #ifndef QSQLFORM_H 38 #define QSQLFORM_H 39 40 #ifndef QT_H 41 #include "qobject.h" 42 #include "qmap.h" 43 #endif // QT_H 44 45 #if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL ) 46 #define QM_EXPORT_SQL 47 #else 48 #define QM_EXPORT_SQL Q_EXPORT 49 #endif 50 51 #ifndef QT_NO_SQL_FORM 52 53 class QSqlField; 54 class QSqlRecord; 55 class QSqlEditorFactory; 56 class QSqlPropertyMap; 57 class QWidget; 58 class QSqlFormPrivate; 59 60 class QM_EXPORT_SQL QSqlForm : public QObject 61 { 62 Q_OBJECT 63 public: 64 QSqlForm( QObject * parent = 0, const char * name = 0 ); 65 ~QSqlForm(); 66 67 virtual void insert( QWidget * widget, const QString& field ); 68 virtual void remove( const QString& field ); 69 uint count() const; 70 71 QWidget * widget( uint i ) const; 72 QSqlField * widgetToField( QWidget * widget ) const; 73 QWidget * fieldToWidget( QSqlField * field ) const; 74 75 void installPropertyMap( QSqlPropertyMap * map ); 76 77 virtual void setRecord( QSqlRecord* buf ); 78 79 public slots: 80 virtual void readField( QWidget * widget ); 81 virtual void writeField( QWidget * widget ); 82 virtual void readFields(); 83 virtual void writeFields(); 84 85 virtual void clear(); 86 virtual void clearValues( bool nullify = FALSE ); 87 88 protected: 89 virtual void insert( QWidget * widget, QSqlField * field ); 90 virtual void remove( QWidget * widget ); 91 void clearMap(); 92 93 private: 94 virtual void sync(); 95 QSqlFormPrivate* d; 96 97 #if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator= 98 QSqlForm( const QSqlForm & ); 99 QSqlForm &operator=( const QSqlForm & ); 100 #endif 101 }; 102 103 #endif // QT_NO_SQL 104 #endif // QSQLFORM_H 105