ManaPlus
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 
23 
24 #include "gui/viewport.h"
25 
27 #include "gui/windows/textdialog.h"
28 
29 #include "resources/map/map.h"
30 #include "resources/map/mapitem.h"
32 
33 #include "debug.h"
34 
37  mMapItemX(0),
38  mMapItemY(0),
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 
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)
79  }
80  mDialog = nullptr;
81 }
const std::string & getId() const
Definition: actionevent.h:122
int getY() const
Definition: mapitem.h:65
int getX() const
Definition: mapitem.h:62
void setComment(const std::string &comment)
Definition: mapitem.h:71
Definition: map.h:75
SpecialLayer * getSpecialLayer() const
Definition: map.h:241
MapItem * findPortalXY(const int x, const int y) const
Definition: map.cpp:1338
void action(const ActionEvent &event)
TextDialog * mDialog
void setMapItem(const MapItem *const mapItem)
void updatePortalNames()
MapItem * getTile(const int x, const int y) const
const std::string & getText() const
Definition: textdialog.cpp:124
Map * getMap() const
Definition: viewport.h:135
Viewport * viewport
Definition: viewport.cpp:36
#define nullptr
Definition: localconsts.h:45
NpcDialog * mDialog
Definition: npcrecv.cpp:42
SocialWindow * socialWindow