Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_action.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#ifndef KIS_ACTION_H
8#define KIS_ACTION_H
9
10#include <QWidgetAction>
11#include <kritaui_export.h>
12#include <kis_debug.h>
13#include <QIcon>
15
16
17
32class KRITAUI_EXPORT KisAction : public QWidgetAction
33{
34 Q_OBJECT
35public:
36
42 NONE = 0x0000,
43 ACTIVE_IMAGE = 0x0001,
44 MULTIPLE_IMAGES = 0x0002,
45 CURRENT_IMAGE_MODIFIED = 0x0004,
46 ACTIVE_NODE = 0x0008,
47 ACTIVE_DEVICE = 0x0010,
48 ACTIVE_LAYER = 0x0020,
49 ACTIVE_TRANSPARENCY_MASK = 0x0040,
50 ACTIVE_SHAPE_LAYER = 0x0080,
51 PIXELS_SELECTED = 0x0100,
52 SHAPES_SELECTED = 0x0200,
53 ANY_SELECTION_WITH_PIXELS = 0x0400,
54 PIXELS_IN_CLIPBOARD = 0x0800,
55 SHAPES_IN_CLIPBOARD = 0x1000,
56 NEVER_ACTIVATE = 0x2000,
57 LAYERS_IN_CLIPBOARD = 0x4000,
58 IMAGE_HAS_ANIMATION = 0x8000,
59 SHAPE_SELECTION_WITH_SHAPES = 0x10000,
60 PIXEL_SELECTION_WITH_PIXELS = 0x20000,
61 IMAGE_CAN_RESELECT = 0x40000,
62 IMAGE_IS_WRITABLE = 0x80000,
63 };
64 Q_DECLARE_FLAGS(ActivationFlags, ActivationFlag)
65
67 NO_CONDITION = 0,
68 ACTIVE_NODE_EDITABLE = 0x1,
69 ACTIVE_NODE_EDITABLE_PAINT_DEVICE = 0x2,
70 SELECTION_EDITABLE = 0x4,
71 OPENGL_ENABLED = 0x8,
72 };
73 Q_DECLARE_FLAGS(ActivationConditions, ActivationCondition)
74
75 explicit KisAction(QObject* parent = 0);
76 KisAction(const QString& text, QObject* parent = 0);
77 KisAction(const QIcon& icon, const QString& text, QObject* parent = 0);
78 ~KisAction() override;
79
80 void setDefaultShortcut(const QKeySequence & shortcut);
81 QKeySequence defaultShortcut() const;
82
83 void setActivationFlags(ActivationFlags flags);
84 ActivationFlags activationFlags();
85
86 void setActivationConditions(ActivationConditions conditions);
87 ActivationConditions activationConditions();
88
89 void setExcludedNodeTypes(const QStringList &nodeTypes);
91
92 virtual void setActionEnabled(bool enabled);
93
97 void setOperationID(const QString& id);
98
99Q_SIGNALS:
101
102private Q_SLOTS:
103 void slotTriggered();
104 void slotChanged();
105
106private:
107
108 friend class KisActionManager;
109
113 void setActionManager(KisActionManager* actionManager);
114
115
116 class Private;
117 Private* const d;
118};
119
120Q_DECLARE_OPERATORS_FOR_FLAGS(KisAction::ActivationFlags)
121Q_DECLARE_OPERATORS_FOR_FLAGS(KisAction::ActivationConditions)
122
123
124#endif // KIS_ACTION_H
float value(const T *src, size_t ch)
@ NONE
Q_DECLARE_FLAGS(KisUpdaterContextSnapshotEx, KisUpdaterContextSnapshotExTag)
A KisActionManager class keeps track of KisActions. These actions are always associated with the GUI....
ActivationCondition
Definition kis_action.h:66
Private *const d
Definition kis_action.h:117
void sigEnableSlaves(bool value)
const QStringList & excludedNodeTypes() const
Q_DECLARE_OPERATORS_FOR_FLAGS(KisBaseRectsWalker::SubtreeVisitFlags)