Walls And Holes
1
abstracttilemaptool.h
Go to the documentation of this file.
1
#ifndef ABSTRACTTILEMAPTOOL_H
2
#define ABSTRACTTILEMAPTOOL_H
3
4
#include "
abstracttool.h
"
5
#include "
tilemap.h
"
6
#include "
tiletemplate.h
"
7
#include "
tilemappreviewgraphicsitem.h
"
8
9
class
AbstractTileMapTool
:
public
AbstractTool
10
{
11
public
:
12
AbstractTileMapTool
(
TileMapPreviewGraphicsItem
*previewItem)
13
:
AbstractTool
()
14
,
mPreviewItem
(previewItem)
15
, mTileMap(nullptr)
16
, mTileTemplate(nullptr)
17
{
18
toolTileMapChanged
();
19
}
20
21
void
setTileMap
(
TileMap
*tileMap)
22
{
23
TileMap
*prev = mTileMap;
24
mTileMap = tileMap;
25
toolTileMapChanged
(prev);
26
}
27
28
void
setTileTemplate
(
TileTemplate
*tileTemplate) { mTileTemplate = tileTemplate; }
29
30
36
virtual
void
toolTileMapChanged
(
TileMap
*previous =
nullptr
) { Q_UNUSED(previous); }
37
38
48
virtual
void
cellActivated
(
int
,
int
, QMouseEvent *) {}
49
59
virtual
void
cellClicked
(
int
,
int
, QMouseEvent *) {}
60
67
virtual
void
cellReleased
(
int
,
int
, QMouseEvent *) {}
68
69
75
virtual
void
cellHovered
(
int
,
int
, QMouseEvent *) {}
76
77
81
virtual
void
mouseExitedMap
(QMouseEvent *) {}
82
83
protected
:
84
TileMap
*
getTileMap
()
const
{
return
mTileMap; }
85
TileTemplate
*
getTileTemplate
()
const
{
return
mTileTemplate; }
86
87
//the preview item of mapView, can't be changed
88
TileMapPreviewGraphicsItem
*
const
mPreviewItem
;
89
90
private
:
91
TileMap
*mTileMap;
92
TileTemplate
*mTileTemplate;
93
94
using
AbstractTool::mousePressEvent
;
95
using
AbstractTool::mouseReleaseEvent
;
96
using
AbstractTool::mouseMoveEvent
;
97
using
AbstractTool::wheelEvent
;
98
};
99
100
#endif // ABSTRACTTILEMAPTOOL_H
AbstractTool::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *)
Definition:
abstracttool.h:49
AbstractTileMapTool::mouseExitedMap
virtual void mouseExitedMap(QMouseEvent *)
Called when the mouse is no longer hovering over a cell.
Definition:
abstracttilemaptool.h:81
AbstractTool::mousePressEvent
virtual void mousePressEvent(QMouseEvent *)
Definition:
abstracttool.h:47
AbstractTileMapTool::cellHovered
virtual void cellHovered(int, int, QMouseEvent *)
Called when the mouse hovers over a new cell.
Definition:
abstracttilemaptool.h:75
AbstractTileMapTool::mPreviewItem
TileMapPreviewGraphicsItem *const mPreviewItem
Definition:
abstracttilemaptool.h:88
AbstractTileMapTool::cellReleased
virtual void cellReleased(int, int, QMouseEvent *)
Called when the left mouse button is released over a cell.
Definition:
abstracttilemaptool.h:67
AbstractTileMapTool
Definition:
abstracttilemaptool.h:9
AbstractTileMapTool::setTileTemplate
void setTileTemplate(TileTemplate *tileTemplate)
Definition:
abstracttilemaptool.h:28
AbstractTileMapTool::cellClicked
virtual void cellClicked(int, int, QMouseEvent *)
Called the first time the left mouse button is pressed over a cell.
Definition:
abstracttilemaptool.h:59
AbstractTileMapTool::getTileTemplate
TileTemplate * getTileTemplate() const
Definition:
abstracttilemaptool.h:85
AbstractTool
The AbstractTool class represents a UI tool. A UI tool can be activated or deactivated.
Definition:
abstracttool.h:24
tilemap.h
tiletemplate.h
AbstractTool::wheelEvent
virtual void wheelEvent(QWheelEvent *)
Definition:
abstracttool.h:50
AbstractTileMapTool::setTileMap
void setTileMap(TileMap *tileMap)
Definition:
abstracttilemaptool.h:21
AbstractTileMapTool::toolTileMapChanged
virtual void toolTileMapChanged(TileMap *previous=nullptr)
Called whenever mTileMap changes. Called in constructor.
Definition:
abstracttilemaptool.h:36
TileTemplate
Definition:
tiletemplate.h:13
AbstractTileMapTool::AbstractTileMapTool
AbstractTileMapTool(TileMapPreviewGraphicsItem *previewItem)
Definition:
abstracttilemaptool.h:12
AbstractTileMapTool::cellActivated
virtual void cellActivated(int, int, QMouseEvent *)
Called when the left mouse button is down over a new cell.
Definition:
abstracttilemaptool.h:48
tilemappreviewgraphicsitem.h
TileMapPreviewGraphicsItem
Definition:
tilemappreviewgraphicsitem.h:9
TileMap
Definition:
tilemap.h:14
AbstractTool::mouseReleaseEvent
virtual void mouseReleaseEvent(QMouseEvent *)
Definition:
abstracttool.h:48
AbstractTileMapTool::getTileMap
TileMap * getTileMap() const
Definition:
abstracttilemaptool.h:84
abstracttool.h
WallsAndHoles
abstracttilemaptool.h
Generated by
1.8.14