source: trunk/include/qsqlform.h

Last change on this file 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.