Krita Source Code Documentation
Loading...
Searching...
No Matches
KisLayerCollapseCommand.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2024 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
KisLayerCollapseCommand.h
"
8
9
#include <
kis_node.h
>
10
11
12
KisLayerCollapseCommand::KisLayerCollapseCommand
(
KisNodeSP
node,
bool
oldValue,
bool
newValue,
KUndo2Command
*parent)
13
:
KUndo2Command
(newValue ?
kundo2_i18n
(
"Collapse node %1"
, node->name()) :
kundo2_i18n
(
"Expand node %1"
, node->name()), parent)
14
, m_node(node)
15
, m_oldValue(oldValue)
16
, m_newValue(newValue)
17
{
18
}
19
20
KisLayerCollapseCommand::KisLayerCollapseCommand
(
KisNodeSP
node,
bool
newValue,
KUndo2Command
*parent)
21
:
KisLayerCollapseCommand
(node, node->collapsed(), newValue, parent)
22
{
23
}
24
25
void
KisLayerCollapseCommand::redo
()
26
{
27
m_node
->
setCollapsed
(
m_newValue
);
28
}
29
30
void
KisLayerCollapseCommand::undo
()
31
{
32
m_node
->
setCollapsed
(
m_oldValue
);
33
}
34
35
bool
KisLayerCollapseCommand::mergeWith
(
const
KUndo2Command
*other)
36
{
37
const
KisLayerCollapseCommand
*cmd =
dynamic_cast<
const
KisLayerCollapseCommand
*
>
(other);
38
39
if
(cmd && cmd->
m_node
==
m_node
) {
40
// verify the commands are actually chained
41
KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE
(
m_newValue
== cmd->
m_oldValue
,
false
);
42
43
m_newValue
= cmd->
m_newValue
;
44
return
true
;
45
}
46
47
return
false
;
48
}
KisLayerCollapseCommand.h
KUndo2Command
Definition
kundo2stack.h:87
KisLayerCollapseCommand
Definition
KisLayerCollapseCommand.h:17
KisLayerCollapseCommand::redo
void redo() override
Definition
KisLayerCollapseCommand.cpp:25
KisLayerCollapseCommand::m_oldValue
bool m_oldValue
Definition
KisLayerCollapseCommand.h:28
KisLayerCollapseCommand::undo
void undo() override
Definition
KisLayerCollapseCommand.cpp:30
KisLayerCollapseCommand::mergeWith
bool mergeWith(const KUndo2Command *other) override
Definition
KisLayerCollapseCommand.cpp:35
KisLayerCollapseCommand::KisLayerCollapseCommand
KisLayerCollapseCommand(KisNodeSP node, bool oldValue, bool newValue, KUndo2Command *parent=nullptr)
Definition
KisLayerCollapseCommand.cpp:12
KisLayerCollapseCommand::m_newValue
bool m_newValue
Definition
KisLayerCollapseCommand.h:29
KisLayerCollapseCommand::m_node
KisNodeSP m_node
Definition
KisLayerCollapseCommand.h:27
KisSharedPtr< KisNode >
KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition
kis_assert.h:129
kis_node.h
kundo2_i18n
KUndo2MagicString kundo2_i18n(const char *text)
Definition
kundo2magicstring.h:180
KisBaseNode::setCollapsed
void setCollapsed(bool collapsed)
Definition
kis_base_node.cpp:314
libs
image
commands_new
KisLayerCollapseCommand.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52