source: trunk/src/qt3support/sql/q3dataview.cpp@ 82

Last change on this file since 82 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 5.3 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the Qt3Support module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#include "q3dataview.h"
43
44#ifndef QT_NO_SQL_VIEW_WIDGETS
45
46#include "private/q3sqlmanager_p.h"
47
48QT_BEGIN_NAMESPACE
49
50class Q3DataViewPrivate
51{
52public:
53 Q3DataViewPrivate() {}
54 Q3SqlFormManager frm;
55};
56
57
58/*!
59 \class Q3DataView
60 \brief The Q3DataView class provides read-only SQL forms.
61
62 \compat
63
64 This class provides a form which displays SQL field data from a
65 record buffer. Because Q3DataView does not support editing it uses
66 less resources than a Q3DataBrowser. This class is well suited for
67 displaying read-only data from a SQL database.
68
69 If you want a to present your data in an editable form use
70 Q3DataBrowser; if you want a table-based presentation of your data
71 use Q3DataTable.
72
73 The form is associated with the data view with setForm() and the
74 record is associated with setRecord(). You can also pass a
75 QSqlRecord to the refresh() function which will set the record to
76 the given record and read the record's fields into the form.
77*/
78
79/*!
80 Constructs a data view which is a child of \a parent, called \a
81 name, and with widget flags \a fl.
82*/
83
84Q3DataView::Q3DataView(QWidget *parent, const char *name, Qt::WindowFlags fl)
85 : QWidget(parent, name, fl)
86{
87 d = new Q3DataViewPrivate();
88}
89
90/*!
91 Destroys the object and frees any allocated resources.
92*/
93
94Q3DataView::~Q3DataView()
95{
96 delete d;
97}
98
99/*!
100 Clears the default form's values. If there is no default form,
101 nothing happens. All the values are set to their 'zero state',
102 e.g. 0 for numeric fields, "" for string fields.
103*/
104
105void Q3DataView::clearValues()
106{
107 d->frm.clearValues();
108}
109
110/*!
111 Sets the form used by the data view to \a form. If a record has
112 already been assigned to the data view, the form will display that
113 record's data.
114
115 \sa form()
116*/
117
118void Q3DataView::setForm(Q3SqlForm* form)
119{
120 d->frm.setForm(form);
121}
122
123
124/*!
125 Returns the default form used by the data view, or 0 if there is
126 none.
127
128 \sa setForm()
129*/
130
131Q3SqlForm* Q3DataView::form()
132{
133 return d->frm.form();
134}
135
136
137/*!
138 Sets the record used by the data view to \a record. If a form has
139 already been assigned to the data view, the form will display the
140 data from \a record in that form.
141
142 \sa record()
143*/
144
145void Q3DataView::setRecord(QSqlRecord* record)
146{
147 d->frm.setRecord(record);
148}
149
150
151/*!
152 Returns the default record used by the data view, or 0 if there is
153 none.
154
155 \sa setRecord()
156*/
157
158QSqlRecord* Q3DataView::record()
159{