Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_action_manager.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2013 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7
8#ifndef KIS_ACTION_MANAGER_H
9#define KIS_ACTION_MANAGER_H
10
11#include <kritaui_export.h>
12
13#include <QPointer>
14
15#include "KisView.h"
16
17#include "kstandardaction.h"
18#include "kis_action_registry.h"
20
21class KisViewManager;
22class KisAction;
24class KisOperation;
25
40class KRITAUI_EXPORT KisActionManager : public QObject
41{
42 Q_OBJECT
43public:
44 KisActionManager(KisViewManager* viewManager, KisKActionCollection *actionCollection);
45 ~KisActionManager() override;
46
47 void setView(QPointer<KisView> imageView);
48
52 void addAction(const QString& name, KisAction* action);
53
57 void takeAction(KisAction* action);
58
62 KisAction *createAction(const QString &name);
63
67 KisAction *actionByName(const QString &name) const;
68
69 void registerOperationUIFactory(KisOperationUIFactory* factory);
70 void registerOperation(KisOperation* operation);
71 void runOperation(const QString &id);
72 void runOperationFromConfiguration(KisOperationConfigurationSP config);
73
78 void updateGUI();
79
83 KisAction *createStandardAction(KStandardAction::StandardAction,
84 const QObject *receiver, const char *member);
85
86 static void safePopulateMenu(QMenu *menu, const QString &actionId, KisActionManager *actionManager);
87
88private Q_SLOTS:
89 void slotActionAddedToCollection(QAction *action);
90
91private:
92 void dumpActionFlags();
93
94 class Private;
95 Private* const d;
96};
97
98#endif // KIS_ACTION_MANAGER_H
A KisActionManager class keeps track of KisActions. These actions are always associated with the GUI....
A container for a set of QAction objects.