Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_node_commands_adapter.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include <KoCompositeOp.h>
10#include "kis_undo_adapter.h"
11#include "kis_image.h"
16#include "KisViewManager.h"
18
20 : QObject(view)
21 , m_view(view)
22{
23
24}
25
29
31{
32 if (applicator) {
34 } else {
35 QScopedPointer<KisProcessingApplicator> localApplicator(
38 cmd->text(),
39 0, cmd->id()));
40 localApplicator->applyCommand(cmd);
41 localApplicator->end();
42 }
43}
44
45void KisNodeCommandsAdapter::addNodeAsync(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, bool doRedoUpdates, bool doUndoUpdates, KisProcessingApplicator *applicator)
46{
47 KUndo2Command *cmd = new KisImageLayerAddCommand(m_view->image(), node, parent, aboveThis, doRedoUpdates, doUndoUpdates);
48 applyOneCommandAsync(cmd, applicator);
49}
50
51void KisNodeCommandsAdapter::addNodeAsync(KisNodeSP node, KisNodeSP parent, quint32 index, bool doRedoUpdates, bool doUndoUpdates, KisProcessingApplicator *applicator)
52{
53 KUndo2Command *cmd = new KisImageLayerAddCommand(m_view->image(), node, parent, index, doRedoUpdates, doUndoUpdates);
54 applyOneCommandAsync(cmd, applicator);
55}
56
58{
59 Q_ASSERT(m_view->image()->undoAdapter());
60 m_view->image()->undoAdapter()->beginMacro(macroName);
61}
62
68
74
75void KisNodeCommandsAdapter::addNode(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, KisImageLayerAddCommand::Flags flags)
76{
77 Q_ASSERT(m_view->image()->undoAdapter());
78 m_view->image()->undoAdapter()->addCommand(new KisImageLayerAddCommand(m_view->image(), node, parent, aboveThis, flags));
79}
80
81void KisNodeCommandsAdapter::addNode(KisNodeSP node, KisNodeSP parent, quint32 index, KisImageLayerAddCommand::Flags flags)
82{
83 Q_ASSERT(m_view->image()->undoAdapter());
84 m_view->image()->undoAdapter()->addCommand(new KisImageLayerAddCommand(m_view->image(), node, parent, index, flags));
85}
86
88{
89 Q_ASSERT(m_view->image()->undoAdapter());
90 m_view->image()->undoAdapter()->addCommand(new KisImageLayerMoveCommand(m_view->image(), node, parent, aboveThis));
91}
92
93void KisNodeCommandsAdapter::moveNode(KisNodeSP node, KisNodeSP parent, quint32 indexaboveThis)
94{
95 Q_ASSERT(m_view->image()->undoAdapter());
96 m_view->image()->undoAdapter()->addCommand(new KisImageLayerMoveCommand(m_view->image(), node, parent, indexaboveThis));
97}
98
104
106{
107 KUndo2Command *cmd = new KisNodeOpacityCommand(node, opacity);
109}
110
112 const KoCompositeOp* compositeOp)
113{
115 compositeOp->id());
117}
118
119void KisNodeCommandsAdapter::setNodeName(KisNodeSP node, const QString &name)
120{
121 KUndo2Command *cmd = new KisNodeRenameCommand(node, node->name(), name);
123}
124
KUndo2MagicString text() const
virtual int id() const
The command for adding a layer.
The command for layer moves inside the layer stack.
KisUndoAdapter * undoAdapter() const
void addNode(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, KisImageLayerAddCommand::Flags flags=KisImageLayerAddCommand::DoRedoUpdates|KisImageLayerAddCommand::DoUndoUpdates)
void applyOneCommandAsync(KUndo2Command *cmd, KisProcessingApplicator *applicator=0)
void moveNode(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis)
void setNodeName(KisNodeSP node, const QString &name)
void addExtraCommand(KUndo2Command *command)
void setOpacity(KisNodeSP node, qint32 opacity)
void setCompositeOp(KisNodeSP node, const KoCompositeOp *compositeOp)
KisNodeCommandsAdapter(KisViewManager *view)
void addNodeAsync(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, bool doRedoUpdates=true, bool doUndoUpdates=true, KisProcessingApplicator *applicator=0)
void beginMacro(const KUndo2MagicString &macroName)
The command for setting the composite op.
The command for setting the node opacity.
The command for setting the node's name.
void applyCommand(KUndo2Command *command, KisStrokeJobData::Sequentiality sequentiality=KisStrokeJobData::SEQUENTIAL, KisStrokeJobData::Exclusivity exclusivity=KisStrokeJobData::NORMAL)
virtual void undoLastCommand()=0
virtual void beginMacro(const KUndo2MagicString &macroName)=0
virtual void endMacro()=0
virtual void addCommand(KUndo2Command *cmd)=0
KisImageWSP image() const
Return the image this view is displaying.
QString name() const