diff options
Diffstat (limited to 'experimental/tqtinterface/qt4/tools/designer/designer/database.cpp')
-rw-r--r-- | experimental/tqtinterface/qt4/tools/designer/designer/database.cpp | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/experimental/tqtinterface/qt4/tools/designer/designer/database.cpp b/experimental/tqtinterface/qt4/tools/designer/designer/database.cpp new file mode 100644 index 000000000..926528ff4 --- /dev/null +++ b/experimental/tqtinterface/qt4/tools/designer/designer/database.cpp @@ -0,0 +1,129 @@ +/********************************************************************** +** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved. +** +** This file is part of TQt Designer. +** +** This file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free +** Software Foundation and appearing in the files LICENSE.GPL2 +** and LICENSE.GPL3 included in the packaging of this file. +** Alternatively you may (at your option) use any later version +** of the GNU General Public License if such license has been +** publicly approved by Trolltech ASA (or its successors, if any) +** and the KDE Free TQt Foundation. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** Licensees holding valid TQt Commercial licenses may use this file in +** accordance with the TQt Commercial License Agreement provided with +** the Software. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted +** herein. +** +**********************************************************************/ + +#if defined(DESIGNER) +#include "database.h" +#else +#include "database2.h" +#endif + +#ifndef TQT_NO_SQL + +#if defined(DESIGNER) +#include "formwindow.h" +#include "mainwindow.h" +#endif + +#include <tqsqldatabase.h> +#include <tqsqlform.h> +#include <tqsqlcursor.h> +#include <tqsqlrecord.h> + +DatabaseSupport::DatabaseSupport() +{ + con = 0; + frm = 0; + tqparent = 0; +} + +void DatabaseSupport::initPreview( const TQString &connection, const TQString &table, TQObject *o, + const TQMap<TQString, TQString> &databaseControls ) +{ + tbl = table; + dbControls = databaseControls; + tqparent = o; + + if ( connection != "(default)" ) + con = TQSqlDatabase::database( connection ); + else + con = TQSqlDatabase::database(); + frm = new TQSqlForm( o, table ); + for ( TQMap<TQString, TQString>::Iterator it = dbControls.begin(); it != dbControls.end(); ++it ) { + TQObject *chld = tqparent->child( it.key(), "TQWidget" ); + if ( !chld ) + continue; + frm->insert( (TQWidget*)chld, *it ); + } +} + +TQDesignerDataBrowser::TQDesignerDataBrowser( TQWidget *tqparent, const char *name ) + : TQDataBrowser( tqparent, name ) +{ +} + +bool TQDesignerDataBrowser::event( TQEvent* e ) +{ + bool b = TQDataBrowser::event( e ); +#if defined(DESIGNER) + if ( MainWindow::self->isPreviewing() ) { +#endif + if ( e->type() == TQEvent::Show ) { + if ( con ) { + TQSqlCursor* cursor = new TQSqlCursor( tbl, TRUE, con ); + setSqlCursor( cursor, TRUE ); + setForm( frm ); + refresh(); + first(); + } + return TRUE; + } +#if defined(DESIGNER) + } +#endif + return b; +} + +TQDesignerDataView::TQDesignerDataView( TQWidget *tqparent, const char *name ) + : TQDataView( tqparent, name ) +{ +} + +bool TQDesignerDataView::event( TQEvent* e ) +{ + bool b = TQDataView::event( e ); +#if defined(DESIGNER) + if ( MainWindow::self->isPreviewing() ) { +#endif + if ( e->type() == TQEvent::Show ) { + setForm( frm ); + readFields(); + return TRUE; + } +#if defined(DESIGNER) + } +#endif + return b; +} + + +#endif |