source: trunk/include/qsqlform.h@ 203

Last change on this file since 203 was 196, checked in by rudi, 14 years ago

Add SQL module (currently it isn't build by default, however it's needed for QtDesigner)

File size: 3.1 KB
Line 
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
53class QSqlField;
54class QSqlRecord;
55class QSqlEditorFactory;
56class QSqlPropertyMap;
57class QWidget;
58class QSqlFormPrivate;
59
60class QM_EXPORT_SQL QSqlForm : public QObject
61{
62 Q_OBJECT
63public:
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
79public 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
88protected:
89 virtual void insert( QWidget * widget, QSqlField * field );
90 virtual void remove( QWidget * widget );
91 void clearMap();
92
93private:
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
Note: See TracBrowser for help on using the repository browser.