Lomiri Action API
lomiri-action-manager.h
1/* This file is part of lomiri-action-api
2 * Copyright 2013 Canonical Ltd.
3 *
4 * lomiri-action-api is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * lomiri-action-api is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranties of
10 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11 * PURPOSE. See the GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef LOMIRI_ACTION_MANAGER
18#define LOMIRI_ACTION_MANAGER
19
20namespace lomiri {
21namespace action {
22 class ActionManager;
23 class ActionContext;
24 class Action;
25}
26}
27
28#include <QObject>
29#include <QScopedPointer>
30
31class Q_DECL_EXPORT lomiri::action::ActionManager : public QObject
32{
33 Q_OBJECT
34 Q_DISABLE_COPY(ActionManager)
35
36 Q_PROPERTY(lomiri::action::ActionContext *globalContext
37 READ globalContext)
38
39public:
40
41 explicit ActionManager(QObject *parent = 0);
42 virtual ~ActionManager();
43
44 Q_INVOKABLE void addAction(lomiri::action::Action *action);
45 Q_INVOKABLE void removeAction(lomiri::action::Action *action);
46
48
49 Q_INVOKABLE void addLocalContext(lomiri::action::ActionContext *context);
50
51 Q_INVOKABLE void removeLocalContext(lomiri::action::ActionContext *context);
52 QSet<ActionContext *> localContexts() const;
53
54 QSet<Action *> actions() const;
55
56signals:
59
60 Q_REVISION(1) void quit();
61
62private:
63 class Private;
64 QScopedPointer<Private> d;
65};
66#endif
Definition: lomiri-action-context.h:32
Definition: lomiri-action-manager.h:32
Q_INVOKABLE void addAction(lomiri::action::Action *action)
Definition: lomiri-action-manager.cpp:426
Q_INVOKABLE void removeLocalContext(lomiri::action::ActionContext *context)
Definition: lomiri-action-manager.cpp:509
QSet< Action * > actions() const
Definition: lomiri-action-manager.cpp:543
Q_INVOKABLE void removeAction(lomiri::action::Action *action)
Definition: lomiri-action-manager.cpp:444
QSet< ActionContext * > localContexts() const
Definition: lomiri-action-manager.cpp:531
ActionManager(QObject *parent=0)
Definition: lomiri-action-manager.cpp:338
Q_INVOKABLE void addLocalContext(lomiri::action::ActionContext *context)
Definition: lomiri-action-manager.cpp:473
lomiri::action::ActionContext * globalContext
Definition: lomiri-action-manager.h:37
The main action class.
Definition: lomiri-action.h:31