40 class MenuControllerPrivate;
84 ShowSelfActions = 0x01,
85 ShowSuperActions = 0x02,
86 ShowOwnerActions = 0x04
88 Q_DECLARE_FLAGS(MenuFlags, MenuFlag)
94 QList<QByteArray> menu;
96 typedef QList<Action> ActionList;
101 MenuController(QObject *parent = 0);
103 MenuController(MenuControllerPrivate &p, QObject *parent = 0);
108 virtual ~MenuController();
113 QMenu *menu(
bool deleteOnClose =
true)
const;
121 void addAction(
const ActionGenerator *gen,
const QList<QByteArray> &menu = QList<QByteArray>());
130 void addAction(
const ActionGenerator *gen,
const char (&menu)[N]);
131 bool removeAction(
const ActionGenerator *gen);
138 static void addAction(
const ActionGenerator *gen,
const QMetaObject *meta,
139 const QList<QByteArray> &menu = QList<QByteArray>());
146 template <
typename T>
147 static void addAction(
const ActionGenerator *gen,
148 const QList<QByteArray> &menu = QList<QByteArray>());
156 template <
typename T,
int N>
157 static void addAction(
const ActionGenerator *gen,
const char (&menu)[N]);
166 static void addAction(
const ActionGenerator *gen,
const QMetaObject *meta,
const char (&menu)[N]);
180 static QObject *
get(QAction *);
181 template <
typename T>
182 static T
get(QAction *);
188 void showMenu(
const QPoint &pos);
193 void setMenuOwner(MenuController *controller);
194 void setMenuFlags(
const MenuFlags &flags);
196 virtual ActionList dynamicActions()
const;
198 virtual void virtual_hook(
int id,
void *data);
199 QScopedPointer<MenuControllerPrivate> d_ptr;
207 class ActionContainerPrivate;
214 virtual void actionAdded(QAction *action,
int index) = 0;
215 virtual void actionRemoved(
int index) = 0;
216 virtual void actionsCleared() = 0;
247 QAction *action(
int index)
const;
248 QList<QByteArray> menu(
int index)
const;
252 QScopedPointer<ActionContainerPrivate> d_ptr;
258 addAction(gen, QByteArray::fromRawData(
menu, N - 1).split(
'\0'));
261 template <
typename T>
264 addAction(gen, &T::staticMetaObject, menu);
267 template <
typename T,
int N>
270 addAction(gen, &T::staticMetaObject, QByteArray::fromRawData(
menu, N - 1).split(
'\0'));
275 const QMetaObject *meta,
276 const char (&menu)[N])
278 addAction(gen, meta, QByteArray::fromRawData(
menu, N - 1).split(
'\0'));
284 Q_DECLARE_OPERATORS_FOR_FLAGS(
qutim_sdk_0_3::MenuController::MenuFlags)
290 Q_INLINE_TEMPLATE T MenuController::get(QAction *action)
292 return qobject_cast<T>(MenuController::get(action));
Filter
Definition: menucontroller.h:224
#define LIBQUTIM_EXPORT
Definition: libqutim_global.h:45
Definition: abstractsearchrequest.h:33
Definition: settingslayer.h:106
Definition: menucontroller.h:219
Definition: actiongenerator.h:109
Q_DECLARE_METATYPE(qutim_sdk_0_3::ExtensionIcon)
Definition: settingslayer.h:52
QList< SettingsItem * > SettingsItemList
Definition: menucontroller.h:37
Definition: menucontroller.h:209