Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_move_command_common.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@kde.org>
3 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef KIS_MOVE_COMMAND_COMMON_H
8#define KIS_MOVE_COMMAND_COMMON_H
9
10#include <QPoint>
11#include <klocalizedstring.h>
12#include "kundo2command.h"
13#include "kritaimage_export.h"
14#include "kis_types.h"
15
23template <class ObjectSP>
24class KRITAIMAGE_EXPORT KisMoveCommandCommon : public KUndo2Command
25{
26public:
27 KisMoveCommandCommon(ObjectSP object, const QPoint& oldPos, const QPoint& newPos, KUndo2Command *parent = 0)
28 : KUndo2Command(kundo2_i18n("Move"), parent),
29 m_oldPos(oldPos),
30 m_newPos(newPos),
31 m_object(object)
32 {
33 }
34
35 void redo() override {
36 moveTo(m_newPos);
37 }
38
39 void undo() override {
40 moveTo(m_oldPos);
41 }
42
43private:
44 void moveTo(const QPoint& pos) {
51 m_object->setX(pos.x());
52 m_object->setY(pos.y());
53 }
54
55private:
56 QPoint m_oldPos;
57 QPoint m_newPos;
58
59protected:
60 ObjectSP m_object;
61};
62
63#endif
KisMoveCommandCommon(ObjectSP object, const QPoint &oldPos, const QPoint &newPos, KUndo2Command *parent=0)
void moveTo(const QPoint &pos)
KUndo2MagicString kundo2_i18n(const char *text)