src/tools/basetool.h

Tue, 26 Jan 2021 18:02:17 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 26 Jan 2021 18:02:17 +0200
changeset 100
43ce3672648a
parent 96
165777a20dc7
child 102
9f435f66bd0c
child 103
94719518e310
permissions
-rw-r--r--

fix build

#pragma once
#include <QMouseEvent>
#include "../main.h"

class BaseTool : public QObject
{
	Q_OBJECT

public:
	struct MouseEventData
	{
		QMouseEvent* ev;
		Qt::KeyboardModifiers keymods;
		bool mouseMoved;
		Qt::MouseButtons releasedButtons;
	};

	BaseTool(QObject* parent = nullptr);

	virtual QString name() const = 0;
	virtual QString toolTip() const = 0;
	virtual bool mousePressed(QMouseEvent*) { return false; }
	virtual bool mouseReleased(MouseEventData const&) { return false; }
	virtual bool mouseDoubleClicked(QMouseEvent*) { return false; }
	virtual bool mouseMoved(QMouseEvent*) { return false; }
	virtual bool keyReleased(QKeyEvent*) { return false; }
};

mercurial