Walls And Holes
1
toolmanager.h
Go to the documentation of this file.
1
#ifndef TOOLMANAGER_H
2
#define TOOLMANAGER_H
3
4
#include "
abstracttool.h
"
5
6
#include <QVector>
7
#include <QMap>
8
#include <QObject>
9
#include <QMouseEvent>
10
#include <QWheelEvent>
11
#include <QSharedPointer>
12
#include <QAction>
13
#include <QToolBar>
14
28
class
ToolManager
:
public
QObject {
29
30
Q_OBJECT
31
32
public
:
33
ToolManager
(QObject *parent =
nullptr
);
34
43
QAction *
registerTool
(
AbstractTool
*tool, QString name, QIcon icon = QIcon(), QKeySequence ks = QKeySequence());
44
50
QAction *
getAction
(QString name);
51
52
public
slots:
59
void
activateTool
(QString name);
60
67
void
deactivateTool
(QString name);
71
QToolBar *
contextToolBar
();
72
73
74
void
mousePressEvent
(QMouseEvent *event);
75
void
mouseReleaseEvent
(QMouseEvent *event);
76
void
mouseMoveEvent
(QMouseEvent *event);
77
void
wheelEvent
(QWheelEvent *event);
78
79
signals:
80
86
void
toolWasActivated
(
AbstractTool
*tool, QString name);
87
88
protected
:
89
QMap<QString, AbstractTool *>
mTools
;
90
QMap<QString, QAction *>
mToolActions
;
91
92
QActionGroup *
mActionGroup
;
93
94
AbstractTool
*
mActiveTool
;
95
96
QToolBar *
mContextToolBar
;
97
};
98
99
#endif // TOOLMANAGER_H
ToolManager::toolWasActivated
void toolWasActivated(AbstractTool *tool, QString name)
Signal emitted when a new tool is activated.
ToolManager::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Definition:
toolmanager.cpp:104
ToolManager::contextToolBar
QToolBar * contextToolBar()
Returns the context toolBar of the current active tool.
Definition:
toolmanager.cpp:93
ToolManager::registerTool
QAction * registerTool(AbstractTool *tool, QString name, QIcon icon=QIcon(), QKeySequence ks=QKeySequence())
Registers the tool with the given identifier.
Definition:
toolmanager.cpp:14
ToolManager::mContextToolBar
QToolBar * mContextToolBar
The active tool.
Definition:
toolmanager.h:96
ToolManager::mToolActions
QMap< QString, QAction * > mToolActions
A map from tool names to tool objects.
Definition:
toolmanager.h:90
ToolManager::ToolManager
ToolManager(QObject *parent=nullptr)
Definition:
toolmanager.cpp:7
ToolManager::wheelEvent
void wheelEvent(QWheelEvent *event)
Definition:
toolmanager.cpp:116
ToolManager::deactivateTool
void deactivateTool(QString name)
Deactivates the tool if it is active. NOTE: A ToolManager is exclusive, so activateTool() automatical...
Definition:
toolmanager.cpp:76
AbstractTool
The AbstractTool class represents a UI tool. A UI tool can be activated or deactivated.
Definition:
abstracttool.h:24
ToolManager::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition:
toolmanager.cpp:98
ToolManager::mTools
QMap< QString, AbstractTool * > mTools
Definition:
toolmanager.h:89
ToolManager::getAction
QAction * getAction(QString name)
Finds the action associated with the name.
Definition:
toolmanager.cpp:47
ToolManager::activateTool
void activateTool(QString name)
Activates the desired tool.
Definition:
toolmanager.cpp:55
ToolManager::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition:
toolmanager.cpp:110
ToolManager::mActiveTool
AbstractTool * mActiveTool
The action group containing all of the ToolManager's actions.
Definition:
toolmanager.h:94
ToolManager::mActionGroup
QActionGroup * mActionGroup
The actions associated to each tool. All pointers delete selves when the ToolManager is destructed...
Definition:
toolmanager.h:92
ToolManager
The ToolManager class represents a group of mutually exclusive tools out of which only one can be act...
Definition:
toolmanager.h:28
abstracttool.h
WallsAndHoles
toolmanager.h
Generated by
1.8.14