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 BUDDYEDITOR_PLUGIN_H 00025 #define BUDDYEDITOR_PLUGIN_H 00026 00027 #include "buddyeditor_global.h" 00028 00029 #include <QtDesigner/QtDesigner> 00030 00031 #include <QtCore/QPointer> 00032 #include <QtCore/QHash> 00033 00034 class QDesignerFormWindowInterface; 00035 class QAction; 00036 00037 namespace qdesigner_internal { 00038 00039 class BuddyEditorTool; 00040 00041 class QT_BUDDYEDITOR_EXPORT BuddyEditorPlugin: public QObject, public QDesignerFormEditorPluginInterface 00042 { 00043 Q_OBJECT 00044 Q_INTERFACES(QDesignerFormEditorPluginInterface) 00045 public: 00046 BuddyEditorPlugin(); 00047 virtual ~BuddyEditorPlugin(); 00048 00049 virtual bool isInitialized() const; 00050 virtual void initialize(QDesignerFormEditorInterface *core); 00051 QAction *action() const; 00052 00053 virtual QDesignerFormEditorInterface *core() const; 00054 00055 public slots: 00056 void activeFormWindowChanged(QDesignerFormWindowInterface *formWindow); 00057 00058 private slots: 00059 void addFormWindow(QDesignerFormWindowInterface *formWindow); 00060 void removeFormWindow(QDesignerFormWindowInterface *formWindow); 00061 00062 private: 00063 QPointer<QDesignerFormEditorInterface> m_core; 00064 QHash<QDesignerFormWindowInterface*, BuddyEditorTool*> m_tools; 00065 bool m_initialized; 00066 QAction *m_action; 00067 }; 00068 00069 } // namespace qdesigner_internal 00070 00071 #endif // BUDDYEDITOR_PLUGIN_H
1.5.1