kexi
keximainwindow.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEXIMAINWINDOW_H
00022 #define KEXIMAINWINDOW_H
00023
00024 #include <qmap.h>
00025 #include <qintdict.h>
00026
00027 #include <kmdimainfrm.h>
00028 #include <kexiutils/tristate.h>
00029
00030 #include "kexisharedactionhost.h"
00031 #include "kexi.h"
00032
00033 class KexiDialogBase;
00034 class KexiProject;
00035 namespace KexiPart {
00036 class Item;
00037 }
00038
00045 class KEXICORE_EXPORT KexiMainWindow : public KMdiMainFrm, public KexiSharedActionHost
00046 {
00047 Q_OBJECT
00048 public:
00049 KexiMainWindow();
00050 virtual ~KexiMainWindow();
00051
00053 virtual KexiProject *project() = 0;
00054
00056 virtual void registerChild(KexiDialogBase *dlg) = 0;
00057
00058 virtual QPopupMenu* findPopupMenu(const char *popupName) = 0;
00059
00065 virtual int generatePrivateID() = 0;
00066
00070 virtual KActionPtrList allActions() const = 0;
00071
00073 virtual KexiDialogBase* currentDialog() const = 0;
00074
00075 signals:
00078 void acceptProjectClosingRequested(bool& cancel);
00079
00082 void beforeProjectClosing();
00083
00085 void projectClosed();
00086
00087 public slots:
00089 virtual KexiDialogBase * openObject(KexiPart::Item *item, int viewMode,
00090 bool &openingCancelled, QMap<QString,QString>* staticObjectArgs = 0) = 0;
00091
00093 virtual KexiDialogBase * openObject(const QCString& mime, const QString& name,
00094 int viewMode, bool &openingCancelled, QMap<QString,QString>* staticObjectArgs = 0) = 0;
00095
00097 virtual void acceptPropertySetEditing() = 0;
00098
00106 virtual void propertySetSwitched(KexiDialogBase *dlg, bool force=false,
00107 bool preservePrevSelection = true, const QCString& propertyToSelect = QCString()) = 0;
00108
00116 virtual tristate saveObject( KexiDialogBase *dlg,
00117 const QString& messageWhenAskingForName = QString::null, bool dontAsk = false ) = 0;
00118
00123 virtual tristate closeDialog(KexiDialogBase *dlg) = 0;
00124
00137 virtual tristate getNewObjectInfo( KexiPart::Item *partItem, KexiPart::Part *part,
00138 bool& allowOverwriting, const QString& messageWhenAskingForName = QString::null ) = 0;
00139
00143 virtual void highlightObject(const QCString& mime, const QCString& name) = 0;
00144
00145 protected slots:
00146 virtual void slotObjectRenamed(const KexiPart::Item &item, const QCString& oldName) = 0;
00147
00148 };
00149
00150
00151 #endif
00152
|