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>
17#include <kis_icon.h>
18#include <kis_canvas2.h>
19
22
25
27{
28 Q_OBJECT
29
30public:
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
46protected:
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
56public Q_SLOTS:
57 void activate(const QSet<KoShape*> &shapes) override;
58 void deactivate() override;
59
60 void addReferenceImage();
68
69 void slotNodeAdded(KisNodeSP node);
70 void slotNodeAdded(KisNodeSP node, KisNodeAdditionFlags flags);
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
81private:
85
86 KisDocument *document() const;
88};
89
90
92{
93public:
95 : DefaultToolFactory("ToolReferenceImages") {
96 setToolTip(i18n("Reference Images Tool"));
98 setIconName(koIconNameCStr("krita_tool_reference_images"));
99 setPriority(2);
101 };
102
103
105
107 return new ToolReferenceImages(canvas);
108 }
109
111
112};
113
114
115#endif
116
Factory for the KoInteractionTool.
KoCanvasBase * canvas() const
Returns the canvas the tool is working on.
void setSection(const QString &section)
void setActivationShapeId(const QString &activationShapeId)
void setIconName(const char *iconName)
void setToolTip(const QString &tooltip)
void setPriority(int newPriority)
QList< QAction * > createActionsImpl() override
createActionsImpl should be reimplemented if the tool needs any actions. The actions should have a va...
KoToolBase * createTool(KoCanvasBase *canvas) override
void deleteSelection() override
reimplemented
void setReferenceImageLayer(KisSharedPtr< KisReferenceImagesLayer > layer)
KisDocument * document() const
QList< QPointer< QWidget > > createOptionWidgets() override
ToolReferenceImagesWidget * m_optionsWidget
bool isValidForCurrentLayer() const override
QWidget * createOptionWidget() override
KoShapeManager * shapeManager() const override
QMenu * popupActionsMenu() override
virtual quint32 priority()
void copy() const override
void slotNodeAdded(KisNodeSP node)
ToolReferenceImages(KoCanvasBase *canvas)
KisWeakSharedPtr< KisReferenceImagesLayer > m_layer
KoSelection * koSelection() const override
void activate(const QSet< KoShape * > &shapes) override
void mouseDoubleClickEvent(KoPointerEvent *) override
void updateDistinctiveActions(const QList< KoShape * > &editableShapes) override
#define koIconNameCStr(name)
Definition kis_icon.h:28
static const QString KRITA_TOOL_ACTIVATION_ID
Definition kis_tool.h:37
static const QString View
Assistance tools: guides, reference, etc.
KisCanvas2 * canvas