summaryrefslogtreecommitdiffstats
path: root/kdevdesigner/designer/database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdevdesigner/designer/database.cpp')
-rw-r--r--kdevdesigner/designer/database.cpp122
1 files changed, 122 insertions, 0 deletions
diff --git a/kdevdesigner/designer/database.cpp b/kdevdesigner/designer/database.cpp
new file mode 100644
index 00000000..a92a04c8
--- /dev/null
+++ b/kdevdesigner/designer/database.cpp
@@ -0,0 +1,122 @@
+/**********************************************************************
+** Copyright (C) 2000 Trolltech AS. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
+** licenses may use this file in accordance with the Qt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#if defined(DESIGNER)
+#include "database.h"
+#else
+#include "database2.h"
+#endif
+
+#ifndef QT_NO_SQL
+
+#if defined(DESIGNER)
+#include "formwindow.h"
+#include "mainwindow.h"
+#endif
+
+#include <qsqldatabase.h>
+#include <qsqlform.h>
+#include <qsqlcursor.h>
+#include <qsqlrecord.h>
+
+DatabaseSupport::DatabaseSupport()
+{
+ con = 0;
+ frm = 0;
+ parent = 0;
+}
+
+void DatabaseSupport::initPreview( const QString &connection, const QString &table, QObject *o,
+ const QMap<QString, QString> &databaseControls )
+{
+ tbl = table;
+ dbControls = databaseControls;
+ parent = o;
+
+ if ( connection != "(default)" )
+ con = QSqlDatabase::database( connection );
+ else
+ con = QSqlDatabase::database();
+ frm = new QSqlForm( o, table );
+ for ( QMap<QString, QString>::Iterator it = dbControls.begin(); it != dbControls.end(); ++it ) {
+ QObject *chld = parent->child( it.key(), "QWidget" );
+ if ( !chld )
+ continue;
+ frm->insert( (QWidget*)chld, *it );
+ }
+}
+
+QDesignerDataBrowser::QDesignerDataBrowser( QWidget *parent, const char *name )
+ : QDataBrowser( parent, name )
+{
+}
+
+bool QDesignerDataBrowser::event( QEvent* e )
+{
+ bool b = QDataBrowser::event( e );
+#if defined(DESIGNER)
+ if ( MainWindow::self->isPreviewing() ) {
+#endif
+ if ( e->type() == QEvent::Show ) {
+ if ( con ) {
+ QSqlCursor* cursor = new QSqlCursor( tbl, TRUE, con );
+ setSqlCursor( cursor, TRUE );
+ setForm( frm );
+ refresh();
+ first();
+ }
+ return TRUE;
+ }
+#if defined(DESIGNER)
+ }
+#endif
+ return b;
+}
+
+QDesignerDataView::QDesignerDataView( QWidget *parent, const char *name )
+ : QDataView( parent, name )
+{
+}
+
+bool QDesignerDataView::event( QEvent* e )
+{
+ bool b = QDataView::event( e );
+#if defined(DESIGNER)
+ if ( MainWindow::self->isPreviewing() ) {
+#endif
+ if ( e->type() == QEvent::Show ) {
+ setForm( frm );
+ readFields();
+ return TRUE;
+ }
+#if defined(DESIGNER)
+ }
+#endif
+ return b;
+}
+
+
+#endif