Krita Source Code Documentation
Loading...
Searching...
No Matches
KoToolFactoryBase.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2006 Thomas Zander <zander@kde.org>
4 *
5 * SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7
8#ifndef KO_TOOL_FACTORY_H
9#define KO_TOOL_FACTORY_H
10
11#include "kritaflake_export.h"
12
13#include <QString>
14#include <QList>
15#include <QObject>
16
17class KoCanvasBase;
18class KoToolBase;
19class QKeySequence;
21class QAction;
22
26namespace ToolBoxSection {
27 static const QString Main {"main"};
28 static const QString Shape {"0 Krita/Shape"};
29 static const QString Transform {"2 Krita/Transform"};
30 static const QString Fill {"3 Krita/Fill"};
31 static const QString View {"4 Krita/View"};
32 static const QString Select {"5 Krita/Select"};
33 static const QString Navigation {"navigation"};
34}
35
59class KRITAFLAKE_EXPORT KoToolFactoryBase : public QObject
60{
61
62 Q_OBJECT
63
64public:
69 explicit KoToolFactoryBase(const QString &id);
70 virtual ~KoToolFactoryBase();
71
76 QList<QAction *> createActions(KisKActionCollection *actionCollection);
77
84 virtual KoToolBase *createTool(KoCanvasBase *canvas) = 0;
85
90 QString id() const;
95 int priority() const;
100 QString section() const;
105 QString toolTip() const;
110 QString iconName() const;
111
119 QString activationShapeId() const;
120
129 QKeySequence shortcut() const;
130
131protected:
132
136 void setShortcut(const QKeySequence & shortcut);
137
142 void setToolTip(const QString &tooltip);
143
148 void setSection(const QString &section);
149
154 void setIconName(const char *iconName);
155 void setIconName(const QString &iconName);
156
162 void setPriority(int newPriority);
163
172 void setActivationShapeId(const QString &activationShapeId);
173
180 virtual QList<QAction *> createActionsImpl();
181
182private Q_SLOTS:
183
184 void activateTool();
185
186private:
187 class Private;
188 Private * const d;
189};
190
191#endif
A container for a set of QAction objects.
QString id() const
QKeySequence shortcut() const
QString section() const
QString iconName() const
virtual KoToolBase * createTool(KoCanvasBase *canvas)=0
int priority() const
The Shape class The shape class is a wrapper around Krita's vector objects.
Definition Shape.h:38
Definition View.h:25
static const QString Fill
Tools that fill parts of the canvas.
static const QString Navigation
Tools that affect the canvas: pan, zoom, etc.
static const QString Main
Tools that only work on vector shapes.
static const QString Select
Tools that select pixels.
static const QString Transform
Tools that transform the layer.