libqutim 0.2.80.1
|
00001 /**************************************************************************** 00002 ** 00003 ** qutIM - instant messenger 00004 ** 00005 ** Copyright © 2011 Ruslan Nigmatullin <euroelessar@yandex.ru> 00006 ** 00007 ***************************************************************************** 00008 ** 00009 ** $QUTIM_BEGIN_LICENSE$ 00010 ** This program is free software: you can redistribute it and/or modify 00011 ** it under the terms of the GNU General Public License as published by 00012 ** the Free Software Foundation, either version 3 of the License, or 00013 ** (at your option) any later version. 00014 ** 00015 ** This program is distributed in the hope that it will be useful, 00016 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00018 ** See the GNU General Public License for more details. 00019 ** 00020 ** You should have received a copy of the GNU General Public License 00021 ** along with this program. If not, see http://www.gnu.org/licenses/. 00022 ** $QUTIM_END_LICENSE$ 00023 ** 00024 ****************************************************************************/ 00025 00026 #ifndef WIDGETACTIONGENERATOR_H 00027 #define WIDGETACTIONGENERATOR_H 00028 00029 #include "actiontoolbar.h" 00030 #include <QWidgetAction> 00031 00032 namespace qutim_sdk_0_3 00033 { 00034 struct WidgetActionGeneratorPrivate; 00035 00036 class LIBQUTIM_EXPORT WidgetActionGenerator : public ActionGenerator 00037 { 00038 public: 00039 WidgetActionGenerator(const QIcon &icon, const LocalizedString &text, const QObject *receiver, const char *member); 00040 virtual ~WidgetActionGenerator(); 00041 00042 template <typename T> 00043 WidgetActionGenerator *setWidget() 00044 { return setWidget(new GeneralGenerator<T>()); } 00045 WidgetActionGenerator *setWidget(ObjectGenerator *gen); 00046 WidgetActionGenerator *addWidgetProperty(const QByteArray &name, const QVariant &value); 00047 protected: 00048 virtual QObject *generateHelper() const; 00049 private: 00050 QScopedPointer<WidgetActionGeneratorPrivate> p; 00051 }; 00052 } 00053 00054 #endif // WIDGETACTIONGENERATOR_H 00055