00001 /**************************************************************************** 00002 ** 00003 ** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved. 00004 ** 00005 ** This file is part of the Qt Designer of the Qt Toolkit. 00006 ** 00007 ** This file may be used under the terms of the GNU General Public 00008 ** License version 2.0 as published by the Free Software Foundation 00009 ** and appearing in the file LICENSE.GPL included in the packaging of 00010 ** this file. Please review the following information to ensure GNU 00011 ** General Public Licensing requirements will be met: 00012 ** http://www.trolltech.com/products/qt/opensource.html 00013 ** 00014 ** If you are unsure which license is appropriate for your use, please 00015 ** review the following information: 00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the 00017 ** sales department at sales@trolltech.com. 00018 ** 00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00021 ** 00022 ****************************************************************************/ 00023 00024 #ifndef ABSTRACTFORMEDITOR_H 00025 #define ABSTRACTFORMEDITOR_H 00026 00027 #include <QtDesigner/sdk_global.h> 00028 00029 #include <QtCore/QObject> 00030 #include <QtCore/QPointer> 00031 00032 QT_BEGIN_HEADER 00033 00034 class QDesignerWidgetBoxInterface; 00035 class QDesignerPropertyEditorInterface; 00036 class QDesignerFormWindowManagerInterface; 00037 class QDesignerWidgetDataBaseInterface; 00038 class QDesignerMetaDataBaseInterface; 00039 class QDesignerWidgetFactoryInterface; 00040 class QDesignerObjectInspectorInterface; 00041 class QDesignerBrushManagerInterface; 00042 class QDesignerIconCacheInterface; 00043 class QDesignerActionEditorInterface; 00044 class QDesignerPluginManager; 00045 00046 class QWidget; 00047 00048 class QExtensionManager; 00049 00050 class QDESIGNER_SDK_EXPORT QDesignerFormEditorInterface: public QObject 00051 { 00052 Q_OBJECT 00053 public: 00054 QDesignerFormEditorInterface(QObject *parent = 0); 00055 virtual ~QDesignerFormEditorInterface(); 00056 00057 QExtensionManager *extensionManager() const; 00058 00059 QWidget *topLevel() const; 00060 QDesignerWidgetBoxInterface *widgetBox() const; 00061 QDesignerPropertyEditorInterface *propertyEditor() const; 00062 QDesignerObjectInspectorInterface *objectInspector() const; 00063 QDesignerFormWindowManagerInterface *formWindowManager() const; 00064 QDesignerWidgetDataBaseInterface *widgetDataBase() const; 00065 QDesignerMetaDataBaseInterface *metaDataBase() const; 00066 QDesignerWidgetFactoryInterface *widgetFactory() const; 00067 QDesignerBrushManagerInterface *brushManager() const; 00068 QDesignerIconCacheInterface *iconCache() const; 00069 QDesignerActionEditorInterface *actionEditor() const; 00070 QDesignerPluginManager *pluginManager() const; 00071 QString resourceLocation() const; 00072 00073 void setTopLevel(QWidget *topLevel); 00074 void setWidgetBox(QDesignerWidgetBoxInterface *widgetBox); 00075 void setPropertyEditor(QDesignerPropertyEditorInterface *propertyEditor); 00076 void setObjectInspector(QDesignerObjectInspectorInterface *objectInspector); 00077 void setPluginManager(QDesignerPluginManager *pluginManager); 00078 void setActionEditor(QDesignerActionEditorInterface *actionEditor); 00079 00080 protected: 00081 void setFormManager(QDesignerFormWindowManagerInterface *formWindowManager); 00082 void setMetaDataBase(QDesignerMetaDataBaseInterface *metaDataBase); 00083 void setWidgetDataBase(QDesignerWidgetDataBaseInterface *widgetDataBase); 00084 void setWidgetFactory(QDesignerWidgetFactoryInterface *widgetFactory); 00085 void setExtensionManager(QExtensionManager *extensionManager); 00086 void setBrushManager(QDesignerBrushManagerInterface *brushManager); 00087 void setIconCache(QDesignerIconCacheInterface *cache); 00088 00089 private: 00090 QPointer<QWidget> m_topLevel; 00091 QPointer<QDesignerWidgetBoxInterface> m_widgetBox; 00092 QPointer<QDesignerPropertyEditorInterface> m_propertyEditor; 00093 QPointer<QDesignerFormWindowManagerInterface> m_formWindowManager; 00094 QPointer<QExtensionManager> m_extensionManager; 00095 QPointer<QDesignerMetaDataBaseInterface> m_metaDataBase; 00096 QPointer<QDesignerWidgetDataBaseInterface> m_widgetDataBase; 00097 QPointer<QDesignerWidgetFactoryInterface> m_widgetFactory; 00098 QPointer<QDesignerObjectInspectorInterface> m_objectInspector; 00099 QPointer<QDesignerBrushManagerInterface> m_brushManager; 00100 QPointer<QDesignerIconCacheInterface> m_iconCache; 00101 QPointer<QDesignerActionEditorInterface> m_actionEditor; 00102 QDesignerPluginManager *m_pluginManager; 00103 00104 private: 00105 QDesignerFormEditorInterface(const QDesignerFormEditorInterface &other); 00106 void operator = (const QDesignerFormEditorInterface &other); 00107 }; 00108 00109 QT_END_HEADER 00110 00111 #endif // ABSTRACTFORMEDITOR_H
1.5.1