Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_change_filter_command.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@kde.org>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
#ifndef KIS_CHANGE_FILTER_COMMAND_H
7
#define KIS_CHANGE_FILTER_COMMAND_H
8
9
#include <
kundo2command.h
>
10
#include "
kis_types.h
"
11
#include <klocalizedstring.h>
12
#include "
filter/kis_filter_configuration.h
"
13
#include "
kis_node.h
"
14
#include "
kis_node_filter_interface.h
"
15
16
#include "
filter/kis_filter_registry.h
"
17
#include "
filter/kis_filter.h
"
18
#include "
generator/kis_generator_registry.h
"
19
#include "
generator/kis_generator.h
"
20
21
22
class
KisChangeFilterCmd
:
public
KUndo2Command
23
{
24
25
public
:
26
KisChangeFilterCmd
(
KisNodeSP
node,
27
KisFilterConfigurationSP
configBefore,
28
KisFilterConfigurationSP
configAfter)
29
:
KUndo2Command
(
kundo2_i18n
(
"Change Filter"
)) {
30
m_node
= node;
31
m_filterInterface
=
dynamic_cast<
KisNodeFilterInterface
*
>
(node.
data
());
32
Q_ASSERT(
m_filterInterface
);
33
34
KIS_SAFE_ASSERT_RECOVER
(configBefore->hasLocalResourcesSnapshot()) {
35
configBefore->createLocalResourcesSnapshot();
36
}
37
38
KIS_SAFE_ASSERT_RECOVER
(configAfter->hasLocalResourcesSnapshot()) {
39
configAfter->createLocalResourcesSnapshot();
40
}
41
42
m_configBefore
= configBefore;
43
m_configAfter
= configAfter;
44
}
45
public
:
46
void
redo
()
override
{
47
m_filterInterface
->
setFilter
(
m_configAfter
);
48
m_node
->
setDirty
();
49
}
50
51
void
undo
()
override
{
52
m_filterInterface
->
setFilter
(
m_configBefore
);
53
m_node
->
setDirty
();
54
}
55
56
private
:
57
KisNodeSP
m_node
;
58
KisNodeFilterInterface
*
m_filterInterface
;
59
60
KisFilterConfigurationSP
m_configBefore
;
61
KisFilterConfigurationSP
m_configAfter
;
62
};
63
#endif
KUndo2Command
Definition
kundo2stack.h:87
KisChangeFilterCmd
Definition
kis_change_filter_command.h:23
KisChangeFilterCmd::undo
void undo() override
Definition
kis_change_filter_command.h:51
KisChangeFilterCmd::m_node
KisNodeSP m_node
Definition
kis_change_filter_command.h:57
KisChangeFilterCmd::m_configAfter
KisFilterConfigurationSP m_configAfter
Definition
kis_change_filter_command.h:61
KisChangeFilterCmd::m_configBefore
KisFilterConfigurationSP m_configBefore
Definition
kis_change_filter_command.h:60
KisChangeFilterCmd::KisChangeFilterCmd
KisChangeFilterCmd(KisNodeSP node, KisFilterConfigurationSP configBefore, KisFilterConfigurationSP configAfter)
Definition
kis_change_filter_command.h:26
KisChangeFilterCmd::redo
void redo() override
Definition
kis_change_filter_command.h:46
KisChangeFilterCmd::m_filterInterface
KisNodeFilterInterface * m_filterInterface
Definition
kis_change_filter_command.h:58
KisNodeFilterInterface
Definition
kis_node_filter_interface.h:17
KisNodeFilterInterface::setFilter
virtual void setFilter(KisFilterConfigurationSP filterConfig, bool checkCompareConfig=true)
Definition
kis_node_filter_interface.cpp:67
KisPinnedSharedPtr< KisFilterConfiguration >
KisSharedPtr< KisNode >
KisSharedPtr::data
T * data()
Definition
kis_shared_ptr.h:139
KIS_SAFE_ASSERT_RECOVER
#define KIS_SAFE_ASSERT_RECOVER(cond)
Definition
kis_assert.h:126
kis_filter.h
kis_filter_configuration.h
kis_filter_registry.h
kis_generator.h
kis_generator_registry.h
kis_node.h
kis_node_filter_interface.h
kis_types.h
kundo2command.h
kundo2_i18n
KUndo2MagicString kundo2_i18n(const char *text)
Definition
kundo2magicstring.h:180
KisNode::setDirty
virtual void setDirty()
Definition
kis_node.cpp:577
libs
image
commands
kis_change_filter_command.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52