diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-01-20 01:29:50 +0000 |
commit | 8362bf63dea22bbf6736609b0f49c152f975eb63 (patch) | |
tree | 0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kexi/plugins/forms/kexiformpart.h | |
download | koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip |
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kexi/plugins/forms/kexiformpart.h')
-rw-r--r-- | kexi/plugins/forms/kexiformpart.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/kexi/plugins/forms/kexiformpart.h b/kexi/plugins/forms/kexiformpart.h new file mode 100644 index 00000000..1ddbab53 --- /dev/null +++ b/kexi/plugins/forms/kexiformpart.h @@ -0,0 +1,108 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Lucijan Busch <lucijan@kde.org> + Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr> + Copyright (C) 2005 Jaroslaw Staniek <js@iidea.pl> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#ifndef KEXIFORMPART_H +#define KEXIFORMPART_H + +#include <qdom.h> +#include <qcstring.h> + +#include <kexi.h> +#include <kexipart.h> +#include <kexidialogbase.h> +#include <kexiblobbuffer.h> + +namespace KFormDesigner +{ + class WidgetLibrary; + class FormManager; + class Form; +} + +namespace KexiDB +{ + class FieldList; +} + +class KexiDataSourcePage; + +//! Kexi Form Plugin +/*! It just creates a \ref KexiFormView. See there for most of code. */ +class KEXIFORMUTILS_EXPORT KexiFormPart : public KexiPart::Part +{ + Q_OBJECT + + public: + KexiFormPart(QObject *parent, const char *name, const QStringList &); + virtual ~KexiFormPart(); + + //! \return a pointer to Forms Widget Library. + static KFormDesigner::WidgetLibrary* library(); + + KexiDataSourcePage* dataSourcePage() const; + + void generateForm(KexiDB::FieldList *list, QDomDocument &domDoc); + + class TempData : public KexiDialogTempData + { + public: + TempData(QObject* parent); + ~TempData(); + QGuardedPtr<KFormDesigner::Form> form; + QGuardedPtr<KFormDesigner::Form> previewForm; + QString tempForm; + QPoint scrollViewContentsPos; //!< to preserve contents pos after switching to other view + int resizeMode; //!< form's window's resize mode -one of KexiFormView::ResizeMode items + //! Used in KexiFormView::setUnsavedLocalBLOBs() + QMap<QWidget*, KexiBLOBBuffer::Id_t> unsavedLocalBLOBs; + //! Used when loading a form from (temporary) XML in Data View + //! to get unsaved blobs collected at design mode. + QMap<QCString, KexiBLOBBuffer::Id_t> unsavedLocalBLOBsByName; + }; + + virtual QString i18nMessage(const QCString& englishMessage, + KexiDialogBase* dlg) const; + + protected: + virtual KexiDialogTempData* createTempData(KexiDialogBase* dialog); + + virtual KexiViewBase* createView(QWidget *parent, KexiDialogBase* dialog, + KexiPart::Item &item, int viewMode = Kexi::DataViewMode, QMap<QString,QString>* staticObjectArgs = 0); + + virtual void initPartActions(); + virtual void initInstanceActions(); + virtual void setupCustomPropertyPanelTabs(KTabWidget *tab, KexiMainWindow* mainWin); + + static KFormDesigner::WidgetLibrary* static_formsLibrary; + + protected slots: + void slotAutoTabStopsSet(KFormDesigner::Form *form, bool set); + void slotAssignAction(); + void slotPropertyChanged(QWidget *widget, const QCString &name, const QVariant &value); + void slotWidgetCreatedByFormsLibrary(QWidget* widget); + + private: + class Private; + Private* d; +}; + +#endif + |