kexi
kexiquerypart.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEXIQUERYPART_H
00022 #define KEXIQUERYPART_H
00023
00024 #include <qmap.h>
00025
00026 #include <kexidialogbase.h>
00027 #include <kexipart.h>
00028 #include <kexipartitem.h>
00029
00030
00031 #include <kexidb/queryschema.h>
00032 #include <kexidb/connection.h>
00033
00034 class KexiMainWin;
00035 namespace KexiDB
00036 {
00037 class QuerySchema;
00038 class Connection;
00039 }
00040
00041 class KexiProject;
00042
00044 class KexiQueryPart : public KexiPart::Part
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 KexiQueryPart(QObject *parent, const char *name, const QStringList &);
00050 virtual ~KexiQueryPart();
00051
00052 virtual bool remove(KexiMainWindow *win, KexiPart::Item &item);
00053
00055 class TempData : public KexiDialogTempData,
00056 public KexiDB::Connection::TableSchemaChangeListenerInterface
00057 {
00058 public:
00059 TempData(KexiDialogBase* parent, KexiDB::Connection *conn);
00060 virtual ~TempData();
00061 virtual tristate closeListener();
00062 void clearQuery();
00063 void unregisterForTablesSchemaChanges();
00064 void registerTableSchemaChanges(KexiDB::QuerySchema *q);
00065
00072 void setQuery(KexiDB::QuerySchema *query);
00073
00075 KexiDB::QuerySchema *query() const { return m_query; }
00076
00079 KexiDB::QuerySchema *takeQuery();
00080
00082 KexiDB::Connection *conn;
00083
00088 bool queryChangedInPreviousView : 1;
00089
00090 protected:
00091 KexiDB::QuerySchema *m_query;
00092 };
00093
00094 virtual QString i18nMessage(const QCString& englishMessage,
00095 KexiDialogBase* dlg) const;
00096
00099 virtual tristate rename(KexiMainWindow * win, KexiPart::Item & item, const QString& newName);
00100
00101 protected:
00102 virtual KexiDialogTempData* createTempData(KexiDialogBase* dialog);
00103
00104 virtual KexiViewBase* createView(QWidget *parent, KexiDialogBase* dialog,
00105 KexiPart::Item &item, int viewMode = Kexi::DataViewMode, QMap<QString,QString>* staticObjectArgs = 0);
00106
00107
00108
00109
00110 virtual void initPartActions();
00111 virtual void initInstanceActions();
00112
00113 virtual KexiDB::SchemaData* loadSchemaData(KexiDialogBase *dlg,
00114 const KexiDB::SchemaData& sdata, int viewMode);
00115 };
00116
00117 #endif
00118
|