kexi
kexiformpart.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KEXIFORMPART_H
00023 #define KEXIFORMPART_H
00024
00025 #include <qdom.h>
00026 #include <qcstring.h>
00027
00028 #include <kexi.h>
00029 #include <kexipart.h>
00030 #include <kexidialogbase.h>
00031 #include <kexiblobbuffer.h>
00032
00033 namespace KFormDesigner
00034 {
00035 class WidgetLibrary;
00036 class FormManager;
00037 class Form;
00038 }
00039
00040 namespace KexiDB
00041 {
00042 class FieldList;
00043 }
00044
00045 class KexiDataSourcePage;
00046
00048
00049 class KEXIFORMUTILS_EXPORT KexiFormPart : public KexiPart::Part
00050 {
00051 Q_OBJECT
00052
00053 public:
00054 KexiFormPart(QObject *parent, const char *name, const QStringList &);
00055 virtual ~KexiFormPart();
00056
00058 static KFormDesigner::WidgetLibrary* library();
00059
00060 KexiDataSourcePage* dataSourcePage() const;
00061
00062 void generateForm(KexiDB::FieldList *list, QDomDocument &domDoc);
00063
00064 class TempData : public KexiDialogTempData
00065 {
00066 public:
00067 TempData(QObject* parent);
00068 ~TempData();
00069 QGuardedPtr<KFormDesigner::Form> form;
00070 QGuardedPtr<KFormDesigner::Form> previewForm;
00071 QString tempForm;
00072 QPoint scrollViewContentsPos;
00073 int resizeMode;
00074
00075 QMap<QWidget*, KexiBLOBBuffer::Id_t> unsavedLocalBLOBs;
00078 QMap<QCString, KexiBLOBBuffer::Id_t> unsavedLocalBLOBsByName;
00079 };
00080
00081 virtual QString i18nMessage(const QCString& englishMessage,
00082 KexiDialogBase* dlg) const;
00083
00084 protected:
00085 virtual KexiDialogTempData* createTempData(KexiDialogBase* dialog);
00086
00087 virtual KexiViewBase* createView(QWidget *parent, KexiDialogBase* dialog,
00088 KexiPart::Item &item, int viewMode = Kexi::DataViewMode, QMap<QString,QString>* staticObjectArgs = 0);
00089
00090 virtual void initPartActions();
00091 virtual void initInstanceActions();
00092 virtual void setupCustomPropertyPanelTabs(KTabWidget *tab, KexiMainWindow* mainWin);
00093
00094 static KFormDesigner::WidgetLibrary* static_formsLibrary;
00095
00096 protected slots:
00097 void slotAutoTabStopsSet(KFormDesigner::Form *form, bool set);
00098 void slotAssignAction();
00099 void slotPropertyChanged(QWidget *widget, const QCString &name, const QVariant &value);
00100 void slotWidgetCreatedByFormsLibrary(QWidget* widget);
00101
00102 private:
00103 class Private;
00104 Private* d;
00105 };
00106
00107 #endif
00108
|