Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_operation.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_OPERATION_H
8#define __KIS_OPERATION_H
9
10#include <QString>
11#include <kundo2magicstring.h>
12#include <kritaui_export.h>
15
16class KisViewManager;
18
19class KRITAUI_EXPORT KisOperation
20{
21public:
22 enum Flag {
23 Normal = 0x0,
24 ReadOnly = 0x1
25 };
26 Q_DECLARE_FLAGS(Flags, Flag)
27
28public:
29 KisOperation(const QString &id);
30 virtual ~KisOperation();
31
32 QString id() const;
33
34 virtual void runFromXML(KisViewManager *view, const KisOperationConfiguration &config);
35
36protected:
37 KisProcessingApplicator* beginAction(KisViewManager *view, const KUndo2MagicString &actionName, Flags flags = Normal);
38 void endAction(KisProcessingApplicator *applicator, const QString &xmlData);
39private:
40 const QString m_id;
41};
42
43Q_DECLARE_OPERATORS_FOR_FLAGS(KisOperation::Flags)
44
45#endif /* __KIS_OPERATION_H */
Q_DECLARE_FLAGS(KisUpdaterContextSnapshotEx, KisUpdaterContextSnapshotExTag)
const QString m_id
Q_DECLARE_OPERATORS_FOR_FLAGS(KisBaseRectsWalker::SubtreeVisitFlags)