Krita Source Code Documentation
Loading...
Searching...
No Matches
ToolReferenceImages.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2017 Boudewijn Rempt <boud@valdyas.org>
3
*
4
* SPDX-License-Identifier: LGPL-2.0-or-later
5
*/
6
7
#ifndef TOOL_REFERENCE_IMAGES_H
8
#define TOOL_REFERENCE_IMAGES_H
9
10
#include <QPointer>
11
12
#include <
KoToolFactoryBase.h
>
13
#include <
KoIcon.h
>
14
15
#include <
kis_tool.h
>
16
#include "
kis_painting_assistant.h
"
17
#include <
kis_icon.h
>
18
#include <
kis_canvas2.h
>
19
20
#include <
defaulttool/DefaultTool.h
>
21
#include <
defaulttool/DefaultToolFactory.h
>
22
23
class
ToolReferenceImagesWidget
;
24
class
KisReferenceImagesLayer
;
25
26
class
ToolReferenceImages
:
public
DefaultTool
27
{
28
Q_OBJECT
29
30
public
:
31
ToolReferenceImages
(
KoCanvasBase
*
canvas
);
32
~ToolReferenceImages
()
override
;
33
34
virtual
quint32
priority
() {
35
return
3;
36
}
37
38
void
mouseDoubleClickEvent
(
KoPointerEvent
*
/*event*/
)
override
{}
39
40
bool
hasSelection
()
override
;
41
42
void
deleteSelection
()
override
;
43
44
QMenu*
popupActionsMenu
()
override
;
45
46
protected
:
47
QList<QPointer<QWidget>
>
createOptionWidgets
()
override
;
48
QWidget *
createOptionWidget
()
override
;
49
50
bool
isValidForCurrentLayer
()
const override
;
51
KoShapeManager
*
shapeManager
()
const override
;
52
KoSelection
*
koSelection
()
const override
;
53
54
void
updateDistinctiveActions
(
const
QList<KoShape*>
&editableShapes)
override
;
55
56
public
Q_SLOTS:
57
void
activate
(
const
QSet<KoShape*> &shapes)
override
;
58
void
deactivate
()
override
;
59
60
void
addReferenceImage
();
61
void
pasteReferenceImage
();
62
void
addReferenceImageFromLayer
();
63
void
addReferenceImageFromVisible
();
64
void
removeSelectedReferenceImages
();
65
void
removeAllReferenceImages
();
66
void
saveReferenceImages
();
67
void
loadReferenceImages
();
68
69
void
slotNodeAdded
(
KisNodeSP
node);
70
void
slotNodeAdded
(
KisNodeSP
node, KisNodeAdditionFlags flags);
71
void
slotSelectionChanged
();
72
73
void
cut
()
override
;
74
void
copy
()
const override
;
75
bool
paste
()
override
;
76
77
bool
selectAll
()
override
;
78
void
deselect
()
override
;
79
80
81
private
:
82
friend
class
ToolReferenceImagesWidget
;
83
ToolReferenceImagesWidget
*
m_optionsWidget
=
nullptr
;
84
KisWeakSharedPtr<KisReferenceImagesLayer>
m_layer
;
85
86
KisDocument
*
document
()
const
;
87
void
setReferenceImageLayer
(
KisSharedPtr<KisReferenceImagesLayer>
layer);
88
};
89
90
91
class
ToolReferenceImagesFactory
:
public
DefaultToolFactory
92
{
93
public
:
94
ToolReferenceImagesFactory
()
95
:
DefaultToolFactory
(
"ToolReferenceImages"
) {
96
setToolTip
(i18n(
"Reference Images Tool"
));
97
setSection
(
ToolBoxSection::View
);
98
setIconName
(
koIconNameCStr
(
"krita_tool_reference_images"
));
99
setPriority
(2);
100
setActivationShapeId
(
KRITA_TOOL_ACTIVATION_ID
);
101
};
102
103
104
~ToolReferenceImagesFactory
()
override
{}
105
106
KoToolBase
*
createTool
(
KoCanvasBase
*
canvas
)
override
{
107
return
new
ToolReferenceImages
(
canvas
);
108
}
109
110
QList<QAction *>
createActionsImpl
()
override
;
111
112
};
113
114
115
#endif
116
DefaultToolFactory.h
DefaultTool.h
KoIcon.h
KoToolFactoryBase.h
DefaultToolFactory
Factory for the KoInteractionTool.
Definition
DefaultToolFactory.h:15
DefaultTool
Definition
DefaultTool.h:41
KisDocument
Definition
KisDocument.cpp:295
KisReferenceImagesLayer
Definition
KisReferenceImagesLayer.h:18
KisSharedPtr< KisNode >
KisWeakSharedPtr
Definition
kis_shared_ptr.h:238
KoCanvasBase
Definition
KoCanvasBase.cpp:24
KoPointerEvent
Definition
KoPointerEvent.cpp:92
KoSelection
Definition
KoSelection.h:38
KoShapeManager
Definition
KoShapeManager.h:42
KoToolBase
Definition
KoToolBase.h:57
KoToolBase::canvas
KoCanvasBase * canvas() const
Returns the canvas the tool is working on.
Definition
KoToolBase.cpp:262
KoToolFactoryBase::setSection
void setSection(const QString §ion)
Definition
KoToolFactoryBase.cpp:178
KoToolFactoryBase::setActivationShapeId
void setActivationShapeId(const QString &activationShapeId)
Definition
KoToolFactoryBase.cpp:168
KoToolFactoryBase::setIconName
void setIconName(const char *iconName)
Definition
KoToolFactoryBase.cpp:183
KoToolFactoryBase::setToolTip
void setToolTip(const QString &tooltip)
Definition
KoToolFactoryBase.cpp:173
KoToolFactoryBase::setPriority
void setPriority(int newPriority)
Definition
KoToolFactoryBase.cpp:193
QList
Definition
KisQStringListFwd.h:16
ToolReferenceImagesFactory
Definition
ToolReferenceImages.h:92
ToolReferenceImagesFactory::ToolReferenceImagesFactory
ToolReferenceImagesFactory()
Definition
ToolReferenceImages.h:94
ToolReferenceImagesFactory::createActionsImpl
QList< QAction * > createActionsImpl() override
createActionsImpl should be reimplemented if the tool needs any actions. The actions should have a va...
Definition
ToolReferenceImages.cpp:414
ToolReferenceImagesFactory::~ToolReferenceImagesFactory
~ToolReferenceImagesFactory() override
Definition
ToolReferenceImages.h:104
ToolReferenceImagesFactory::createTool
KoToolBase * createTool(KoCanvasBase *canvas) override
Definition
ToolReferenceImages.h:106
ToolReferenceImagesWidget
Definition
ToolReferenceImagesWidget.h:22
ToolReferenceImages
Definition
ToolReferenceImages.h:27
ToolReferenceImages::selectAll
bool selectAll() override
Definition
ToolReferenceImages.cpp:390
ToolReferenceImages::deleteSelection
void deleteSelection() override
reimplemented
Definition
ToolReferenceImages.cpp:319
ToolReferenceImages::addReferenceImageFromLayer
void addReferenceImageFromLayer()
Definition
ToolReferenceImages.cpp:125
ToolReferenceImages::pasteReferenceImage
void pasteReferenceImage()
Definition
ToolReferenceImages.cpp:139
ToolReferenceImages::setReferenceImageLayer
void setReferenceImageLayer(KisSharedPtr< KisReferenceImagesLayer > layer)
Definition
ToolReferenceImages.cpp:85
ToolReferenceImages::saveReferenceImages
void saveReferenceImages()
Definition
ToolReferenceImages.cpp:221
ToolReferenceImages::document
KisDocument * document() const
Definition
ToolReferenceImages.cpp:407
ToolReferenceImages::hasSelection
bool hasSelection() override
Definition
ToolReferenceImages.cpp:93
ToolReferenceImages::removeAllReferenceImages
void removeAllReferenceImages()
Definition
ToolReferenceImages.cpp:167
ToolReferenceImages::createOptionWidgets
QList< QPointer< QWidget > > createOptionWidgets() override
Definition
ToolReferenceImages.cpp:273
ToolReferenceImages::~ToolReferenceImages
~ToolReferenceImages() override
Definition
ToolReferenceImages.cpp:45
ToolReferenceImages::removeSelectedReferenceImages
void removeSelectedReferenceImages()
Definition
ToolReferenceImages.cpp:157
ToolReferenceImages::m_optionsWidget
ToolReferenceImagesWidget * m_optionsWidget
Definition
ToolReferenceImages.h:83
ToolReferenceImages::addReferenceImageFromVisible
void addReferenceImageFromVisible()
Definition
ToolReferenceImages.cpp:132
ToolReferenceImages::isValidForCurrentLayer
bool isValidForCurrentLayer() const override
Definition
ToolReferenceImages.cpp:292
ToolReferenceImages::slotSelectionChanged
void slotSelectionChanged()
Definition
ToolReferenceImages.cpp:264
ToolReferenceImages::loadReferenceImages
void loadReferenceImages()
Definition
ToolReferenceImages.cpp:175
ToolReferenceImages::createOptionWidget
QWidget * createOptionWidget() override
Definition
ToolReferenceImages.cpp:279
ToolReferenceImages::shapeManager
KoShapeManager * shapeManager() const override
Definition
ToolReferenceImages.cpp:297
ToolReferenceImages::popupActionsMenu
QMenu * popupActionsMenu() override
Definition
ToolReferenceImages.cpp:331
ToolReferenceImages::priority
virtual quint32 priority()
Definition
ToolReferenceImages.h:34
ToolReferenceImages::copy
void copy() const override
Definition
ToolReferenceImages.cpp:372
ToolReferenceImages::addReferenceImage
void addReferenceImage()
Definition
ToolReferenceImages.cpp:99
ToolReferenceImages::slotNodeAdded
void slotNodeAdded(KisNodeSP node)
Definition
ToolReferenceImages.cpp:69
ToolReferenceImages::deselect
void deselect() override
Definition
ToolReferenceImages.cpp:401
ToolReferenceImages::ToolReferenceImages
ToolReferenceImages(KoCanvasBase *canvas)
Definition
ToolReferenceImages.cpp:39
ToolReferenceImages::paste
bool paste() override
Definition
ToolReferenceImages.cpp:384
ToolReferenceImages::m_layer
KisWeakSharedPtr< KisReferenceImagesLayer > m_layer
Definition
ToolReferenceImages.h:84
ToolReferenceImages::koSelection
KoSelection * koSelection() const override
Definition
ToolReferenceImages.cpp:303
ToolReferenceImages::activate
void activate(const QSet< KoShape * > &shapes) override
Definition
ToolReferenceImages.cpp:49
ToolReferenceImages::deactivate
void deactivate() override
Definition
ToolReferenceImages.cpp:64
ToolReferenceImages::mouseDoubleClickEvent
void mouseDoubleClickEvent(KoPointerEvent *) override
Definition
ToolReferenceImages.h:38
ToolReferenceImages::cut
void cut() override
Definition
ToolReferenceImages.cpp:366
ToolReferenceImages::updateDistinctiveActions
void updateDistinctiveActions(const QList< KoShape * > &editableShapes) override
Definition
ToolReferenceImages.cpp:309
kis_canvas2.h
kis_icon.h
koIconNameCStr
#define koIconNameCStr(name)
Definition
kis_icon.h:28
kis_painting_assistant.h
kis_tool.h
KRITA_TOOL_ACTIVATION_ID
static const QString KRITA_TOOL_ACTIVATION_ID
Definition
kis_tool.h:37
ToolBoxSection::View
static const QString View
Assistance tools: guides, reference, etc.
Definition
KoToolFactoryBase.h:31
Private::canvas
KisCanvas2 * canvas
Definition
KisFrameDisplayProxy.cpp:22
plugins
tools
defaulttool
referenceimagestool
ToolReferenceImages.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52