Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abstract_input_action.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2012 Arjen Hiemstra <ahiemstra@heimr.nl>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_ABSTRACT_INPUT_ACTION_H
8#define KIS_ABSTRACT_INPUT_ACTION_H
9
10#include <QHash>
11#include <QPoint>
12#include "kritaui_export.h"
13
14#include "KisInputActionGroup.h"
15
16class QPointF;
17class QEvent;
18class KisInputManager;
19
42class KRITAUI_EXPORT KisAbstractInputAction
43{
44public:
50 explicit KisAbstractInputAction(const QString &id);
55
63 virtual void activate(int shortcut);
64
72 virtual void deactivate(int shortcut);
73
81 virtual void begin(int shortcut, QEvent *event);
88 virtual void end(QEvent *event);
97 virtual void inputEvent(QEvent* event);
98
106 virtual bool supportsHiResInputEvents(int shortcut) const;
107
111 virtual KisInputActionGroup inputActionGroup(int shortcut) const;
112
116 virtual QHash<QString, int> shortcutIndexes() const;
117
121 virtual QString id() const;
122
126 virtual QString name() const;
127
131 virtual QString description() const;
132
139 virtual int priority() const;
140
146 virtual bool canIgnoreModifiers() const;
147
156 virtual bool isShortcutRequired(int shortcut) const;
157
164 virtual bool isAvailable() const;
165
166protected:
176 void setName(const QString &name);
182 void setDescription(const QString &description);
188 void setShortcutIndexes(const QHash<QString, int> &indexes);
189
194 virtual void cursorMoved(const QPointF &lastPos, const QPointF &pos);
195 virtual void cursorMovedAbsolute(const QPointF &startPos, const QPointF &pos);
196
202 QPoint eventPos(const QEvent *event);
203
210 QPointF eventPosF(const QEvent *event);
211
212private:
213 friend class KisInputManager;
214 static void setInputManager(KisInputManager *manager);
215
216 class Private;
217 Private * const d;
218};
219
220#endif // KIS_ABSTRACT_INPUT_ACTION_H
KisInputActionGroup
Abstract base class for input actions.
virtual QString id() const
virtual QString name() const
KisInputManager * inputManager() const
virtual QString description() const
Central object to manage canvas input.