Krita Source Code Documentation
Loading...
Searching...
No Matches
KisNodeCommandsAdapter Class Reference

#include <kis_node_commands_adapter.h>

+ Inheritance diagram for KisNodeCommandsAdapter:

Public Member Functions

void addExtraCommand (KUndo2Command *command)
 
void addNode (KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, KisImageLayerAddCommand::Flags flags=KisImageLayerAddCommand::DoRedoUpdates|KisImageLayerAddCommand::DoUndoUpdates)
 
void addNode (KisNodeSP node, KisNodeSP parent, quint32 index, KisImageLayerAddCommand::Flags flags=KisImageLayerAddCommand::DoRedoUpdates|KisImageLayerAddCommand::DoUndoUpdates)
 
void addNodeAsync (KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis, bool doRedoUpdates=true, bool doUndoUpdates=true, KisProcessingApplicator *applicator=0)
 
void addNodeAsync (KisNodeSP node, KisNodeSP parent, quint32 index, bool doRedoUpdates=true, bool doUndoUpdates=true, KisProcessingApplicator *applicator=0)
 
void applyOneCommandAsync (KUndo2Command *cmd, KisProcessingApplicator *applicator=0)
 
void beginMacro (const KUndo2MagicString &macroName)
 
void endMacro ()
 
 KisNodeCommandsAdapter (KisViewManager *view)
 
void moveNode (KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis)
 
void moveNode (KisNodeSP node, KisNodeSP parent, quint32 indexaboveThis)
 
void removeNode (KisNodeSP node)
 
void setCompositeOp (KisNodeSP node, const KoCompositeOp *compositeOp)
 
void setNodeName (KisNodeSP node, const QString &name)
 
void setOpacity (KisNodeSP node, qint32 opacity)
 
void undoLastCommand ()
 
 ~KisNodeCommandsAdapter () override
 

Private Attributes

KisViewManagerm_view
 

Detailed Description

This class allows the manipulation of nodes in a KisImage and creates commands as needed.

Definition at line 26 of file kis_node_commands_adapter.h.

Constructor & Destructor Documentation

◆ KisNodeCommandsAdapter()

KisNodeCommandsAdapter::KisNodeCommandsAdapter ( KisViewManager * view)

Definition at line 19 of file kis_node_commands_adapter.cpp.

20 : QObject(view)
21 , m_view(view)
22{
23
24}

◆ ~KisNodeCommandsAdapter()

KisNodeCommandsAdapter::~KisNodeCommandsAdapter ( )
override

Definition at line 26 of file kis_node_commands_adapter.cpp.

27{
28}

Member Function Documentation

◆ addExtraCommand()

void KisNodeCommandsAdapter::addExtraCommand ( KUndo2Command * command)

Definition at line 63 of file kis_node_commands_adapter.cpp.

64{
65 Q_ASSERT(m_view->image()->undoAdapter());
66 m_view->image()->undoAdapter()->addCommand(command);
67}
KisUndoAdapter * undoAdapter() const
virtual void addCommand(KUndo2Command *cmd)=0
KisImageWSP image() const
Return the image this view is displaying.

References KisUndoAdapter::addCommand(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ addNode() [1/2]

void KisNodeCommandsAdapter::addNode ( KisNodeSP node,
KisNodeSP parent,
KisNodeSP aboveThis,
KisImageLayerAddCommand::Flags flags = KisImageLayerAddCommand::DoRedoUpdates | KisImageLayerAddCommand::DoUndoUpdates )

Definition at line 75 of file kis_node_commands_adapter.cpp.

76{
77 Q_ASSERT(m_view->image()->undoAdapter());
78 m_view->image()->undoAdapter()->addCommand(new KisImageLayerAddCommand(m_view->image(), node, parent, aboveThis, flags));
79}
The command for adding a layer.

References KisUndoAdapter::addCommand(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ addNode() [2/2]

void KisNodeCommandsAdapter::addNode ( KisNodeSP node,
KisNodeSP parent,
quint32 index,
KisImageLayerAddCommand::Flags flags = KisImageLayerAddCommand::DoRedoUpdates | KisImageLayerAddCommand::DoUndoUpdates )

Definition at line 81 of file kis_node_commands_adapter.cpp.

82{
83 Q_ASSERT(m_view->image()->undoAdapter());
84 m_view->image()->undoAdapter()->addCommand(new KisImageLayerAddCommand(m_view->image(), node, parent, index, flags));
85}

References KisUndoAdapter::addCommand(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ addNodeAsync() [1/2]

void KisNodeCommandsAdapter::addNodeAsync ( KisNodeSP node,
KisNodeSP parent,
KisNodeSP aboveThis,
bool doRedoUpdates = true,
bool doUndoUpdates = true,
KisProcessingApplicator * applicator = 0 )

Same as addNode(), but adds a node using the provided applicator in an asynchronous way. If applicator is null, then a temporary applicator (with a stroke) is created.

Definition at line 45 of file kis_node_commands_adapter.cpp.

46{
47 KUndo2Command *cmd = new KisImageLayerAddCommand(m_view->image(), node, parent, aboveThis, doRedoUpdates, doUndoUpdates);
48 applyOneCommandAsync(cmd, applicator);
49}
void applyOneCommandAsync(KUndo2Command *cmd, KisProcessingApplicator *applicator=0)

References applyOneCommandAsync(), KisViewManager::image(), and m_view.

◆ addNodeAsync() [2/2]

void KisNodeCommandsAdapter::addNodeAsync ( KisNodeSP node,
KisNodeSP parent,
quint32 index,
bool doRedoUpdates = true,
bool doUndoUpdates = true,
KisProcessingApplicator * applicator = 0 )

Definition at line 51 of file kis_node_commands_adapter.cpp.

52{
53 KUndo2Command *cmd = new KisImageLayerAddCommand(m_view->image(), node, parent, index, doRedoUpdates, doUndoUpdates);
54 applyOneCommandAsync(cmd, applicator);
55}

References applyOneCommandAsync(), KisViewManager::image(), and m_view.

◆ applyOneCommandAsync()

void KisNodeCommandsAdapter::applyOneCommandAsync ( KUndo2Command * cmd,
KisProcessingApplicator * applicator = 0 )

Applies cmd on a provided applicator. If applicator is null, then a temporary applicator is created locally.

Definition at line 30 of file kis_node_commands_adapter.cpp.

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}
KUndo2MagicString text() const
virtual int id() const
void applyCommand(KUndo2Command *command, KisStrokeJobData::Sequentiality sequentiality=KisStrokeJobData::SEQUENTIAL, KisStrokeJobData::Exclusivity exclusivity=KisStrokeJobData::NORMAL)

References KisProcessingApplicator::applyCommand(), KisStrokeJobData::EXCLUSIVE, KUndo2Command::id(), KisViewManager::image(), m_view, KisProcessingApplicator::NONE, KisStrokeJobData::SEQUENTIAL, and KUndo2Command::text().

◆ beginMacro()

void KisNodeCommandsAdapter::beginMacro ( const KUndo2MagicString & macroName)

Definition at line 57 of file kis_node_commands_adapter.cpp.

58{
59 Q_ASSERT(m_view->image()->undoAdapter());
60 m_view->image()->undoAdapter()->beginMacro(macroName);
61}
virtual void beginMacro(const KUndo2MagicString &macroName)=0

References KisUndoAdapter::beginMacro(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ endMacro()

void KisNodeCommandsAdapter::endMacro ( )

Definition at line 69 of file kis_node_commands_adapter.cpp.

70{
71 Q_ASSERT(m_view->image()->undoAdapter());
73}
virtual void endMacro()=0

References KisUndoAdapter::endMacro(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ moveNode() [1/2]

void KisNodeCommandsAdapter::moveNode ( KisNodeSP node,
KisNodeSP parent,
KisNodeSP aboveThis )

Definition at line 87 of file kis_node_commands_adapter.cpp.

88{
89 Q_ASSERT(m_view->image()->undoAdapter());
90 m_view->image()->undoAdapter()->addCommand(new KisImageLayerMoveCommand(m_view->image(), node, parent, aboveThis));
91}
The command for layer moves inside the layer stack.

References KisUndoAdapter::addCommand(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ moveNode() [2/2]

void KisNodeCommandsAdapter::moveNode ( KisNodeSP node,
KisNodeSP parent,
quint32 indexaboveThis )

Definition at line 93 of file kis_node_commands_adapter.cpp.

94{
95 Q_ASSERT(m_view->image()->undoAdapter());
96 m_view->image()->undoAdapter()->addCommand(new KisImageLayerMoveCommand(m_view->image(), node, parent, indexaboveThis));
97}

References KisUndoAdapter::addCommand(), KisViewManager::image(), m_view, and KisImage::undoAdapter().

◆ removeNode()

◆ setCompositeOp()

void KisNodeCommandsAdapter::setCompositeOp ( KisNodeSP node,
const KoCompositeOp * compositeOp )

Definition at line 111 of file kis_node_commands_adapter.cpp.

113{
115 compositeOp->id());
117}
The command for setting the composite op.

References applyOneCommandAsync(), and KoCompositeOp::id.

◆ setNodeName()

void KisNodeCommandsAdapter::setNodeName ( KisNodeSP node,
const QString & name )

Definition at line 119 of file kis_node_commands_adapter.cpp.

120{
121 KUndo2Command *cmd = new KisNodeRenameCommand(node, node->name(), name);
123}
The command for setting the node's name.
QString name() const

References applyOneCommandAsync(), and KisBaseNode::name().

◆ setOpacity()

void KisNodeCommandsAdapter::setOpacity ( KisNodeSP node,
qint32 opacity )

Definition at line 105 of file kis_node_commands_adapter.cpp.

106{
107 KUndo2Command *cmd = new KisNodeOpacityCommand(node, opacity);
109}
The command for setting the node opacity.

References applyOneCommandAsync().

◆ undoLastCommand()

void KisNodeCommandsAdapter::undoLastCommand ( )

Definition at line 125 of file kis_node_commands_adapter.cpp.

126{
127 Q_ASSERT(m_view->image()->undoAdapter());
129}
virtual void undoLastCommand()=0

References KisViewManager::image(), m_view, KisImage::undoAdapter(), and KisUndoAdapter::undoLastCommand().

Member Data Documentation

◆ m_view

KisViewManager* KisNodeCommandsAdapter::m_view
private

Definition at line 62 of file kis_node_commands_adapter.h.


The documentation for this class was generated from the following files: