ManaPlus
src
listeners
renamelistener.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2011-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus Client.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#include "
listeners/renamelistener.h
"
23
24
#include "gui/viewport.h"
25
26
#include "
gui/windows/socialwindow.h
"
27
#include "
gui/windows/textdialog.h
"
28
29
#include "resources/map/map.h"
30
#include "
resources/map/mapitem.h
"
31
#include "
resources/map/speciallayer.h
"
32
33
#include "
debug.h
"
34
35
RenameListener::RenameListener
() :
36
ActionListener
(),
37
mMapItemX(0),
38
mMapItemY(0),
39
mDialog
(
nullptr
)
40
{
41
}
42
43
void
RenameListener::setMapItem
(
const
MapItem
*
const
mapItem)
44
{
45
if
(mapItem !=
nullptr
)
46
{
47
mMapItemX
= mapItem->
getX
();
48
mMapItemY
= mapItem->
getY
();
49
}
50
else
51
{
52
mMapItemX
= 0;
53
mMapItemY
= 0;
54
}
55
}
56
57
void
RenameListener::action
(
const
ActionEvent
&event)
58
{
59
if
(event.
getId
() ==
"ok"
&& (
viewport
!=
nullptr
) && (
mDialog
!=
nullptr
))
60
{
61
const
Map
*
const
map =
viewport
->
getMap
();
62
if
(map ==
nullptr
)
63
return
;
64
65
const
SpecialLayer
*
const
sl = map->
getSpecialLayer
();
66
MapItem
*item =
nullptr
;
67
if
(sl !=
nullptr
)
68
{
69
item = sl->
getTile
(
mMapItemX
,
mMapItemY
);
70
if
(item !=
nullptr
)
71
item->
setComment
(
mDialog
->
getText
());
72
}
73
item = map->
findPortalXY
(
mMapItemX
,
mMapItemY
);
74
if
(item !=
nullptr
)
75
item->
setComment
(
mDialog
->
getText
());
76
77
if
(
socialWindow
!=
nullptr
)
78
socialWindow
->
updatePortalNames
();
79
}
80
mDialog
=
nullptr
;
81
}
ActionEvent
Definition:
actionevent.h:98
ActionEvent::getId
const std::string & getId() const
Definition:
actionevent.h:122
ActionListener
Definition:
actionlistener.h:79
MapItem
Definition:
mapitem.h:33
MapItem::getY
int getY() const
Definition:
mapitem.h:65
MapItem::getX
int getX() const
Definition:
mapitem.h:62
MapItem::setComment
void setComment(const std::string &comment)
Definition:
mapitem.h:71
Map
Definition:
map.h:75
Map::getSpecialLayer
SpecialLayer * getSpecialLayer() const
Definition:
map.h:241
Map::findPortalXY
MapItem * findPortalXY(const int x, const int y) const
Definition:
map.cpp:1338
RenameListener::mMapItemY
int mMapItemY
Definition:
renamelistener.h:48
RenameListener::action
void action(const ActionEvent &event)
Definition:
renamelistener.cpp:57
RenameListener::mMapItemX
int mMapItemX
Definition:
renamelistener.h:47
RenameListener::mDialog
TextDialog * mDialog
Definition:
renamelistener.h:49
RenameListener::RenameListener
RenameListener()
Definition:
renamelistener.cpp:35
RenameListener::setMapItem
void setMapItem(const MapItem *const mapItem)
Definition:
renamelistener.cpp:43
SocialWindow::updatePortalNames
void updatePortalNames()
Definition:
socialwindow.cpp:549
SpecialLayer
Definition:
speciallayer.h:35
SpecialLayer::getTile
MapItem * getTile(const int x, const int y) const
Definition:
speciallayer.cpp:57
TextDialog::getText
const std::string & getText() const
Definition:
textdialog.cpp:124
Viewport::getMap
Map * getMap() const
Definition:
viewport.h:135
debug.h
viewport
Viewport * viewport
Definition:
viewport.cpp:36
nullptr
#define nullptr
Definition:
localconsts.h:45
mapitem.h
Ea::NpcRecv::mDialog
NpcDialog * mDialog
Definition:
npcrecv.cpp:42
renamelistener.h
socialWindow
SocialWindow * socialWindow
Definition:
socialwindow.cpp:49
socialwindow.h
speciallayer.h
textdialog.h
Generated on Wed Mar 17 2021 19:19:08 for ManaPlus by
1.9.1