ManaPlus
Public Member Functions | Private Attributes
SocialNavigationTab Class Reference

#include <socialnavigationtab.h>

Inheritance diagram for SocialNavigationTab:
SocialTab Tab BasicContainer MouseListener WidgetListener Widget WidgetDeathListener Widget2

Public Member Functions

 SocialNavigationTab (const Widget2 *const widget, const Opaque showBackground)
 
 ~SocialNavigationTab ()
 
void updateList ()
 
void selectIndex (const unsigned num)
 
void updateNames ()
 
int getPortalIndex (const int x, const int y)
 
void addPortal (const int x, const int y)
 
void removePortal (const int x, const int y)
 
- Public Member Functions inherited from SocialTab
virtual void invite ()
 
virtual void leave ()
 
virtual void updateAvatar (const std::string &name)
 
virtual void resetDamage (const std::string &name)
 
virtual void buildCounter (const int online, const int total)
 
- Public Member Functions inherited from Tab
 Tab (const Widget2 *const widget)
 
 ~Tab ()
 
void updateAlpha ()
 
void draw (Graphics *const graphics)
 
void safeDraw (Graphics *const graphics)
 
void setTabColor (const Color *const color1, const Color *const color2)
 
void setHighlightedTabColor (const Color *const color1, const Color *const color2)
 
void setSelectedTabColor (const Color *const color1, const Color *const color2)
 
void setFlashTabColor (const Color *const color1, const Color *const color2)
 
void setPlayerFlashTabColor (const Color *const color1, const Color *const color2)
 
void setFlash (const int flash)
 
int getFlash () const
 
void widgetResized (const Event &event)
 
void widgetMoved (const Event &event)
 
void setLabelFont (Font *const font)
 
LabelgetLabel () const
 
void adjustSize ()
 
void setTabbedArea (TabbedArea *tabbedArea)
 
TabbedAreagetTabbedArea () const
 
void setCaption (const std::string &caption)
 
const std::string & getCaption () const
 
void mouseEntered (MouseEvent &event)
 
void mouseExited (MouseEvent &event)
 
void setImage (Image *const image)
 
- Public Member Functions inherited from BasicContainer
 BasicContainer (const Widget2 *const widget)
 
 ~BasicContainer ()
 
void showWidgetPart (Widget *const widget, const Rect &area)
 
void moveToTop (Widget *const widget)
 
void moveToBottom (Widget *const widget)
 
Rect getChildrenArea ()
 
void focusNext ()
 
void focusPrevious ()
 
void logic ()
 
void setFocusHandler (FocusHandler *const focusHandler)
 
void setInternalFocusHandler (FocusHandler *const focusHandler)
 
WidgetgetWidgetAt (int x, int y)
 
void death (const Event &event)
 
WidgetfindFirstWidget (const std::set< Widget *> &list)
 
void add (Widget *const widget)
 
virtual void remove (Widget *const widget)
 
virtual void clear ()
 
- Public Member Functions inherited from Widget
 Widget (const Widget2 *const widget)
 
 ~Widget ()
 
virtual void drawFrame (Graphics *graphics)
 
virtual void safeDrawFrame (Graphics *graphics)
 
void setFrameSize (const unsigned int frameSize)
 
unsigned int getFrameSize () const
 
WidgetgetParent () const
 
void setWidth (const int width)
 
int getWidth () const
 
void setHeight (const int height)
 
int getHeight () const
 
void setSize (const int width, const int height)
 
void setX (const int x)
 
int getX () const
 
void setY (const int y)
 
int getY () const
 
void setPosition (const int x, const int y)
 
void setDimension (const Rect &dimension)
 
const RectgetDimension () const
 
void setFocusable (const bool focusable)
 
bool isFocusable () const
 
virtual bool isFocused () const
 
void setEnabled (const bool enabled)
 
bool isEnabled () const
 
void setVisible (Visible visible)
 
bool isVisible () const
 
void setBaseColor (const Color &color)
 
const ColorgetBaseColor () const
 
void setForegroundColor (const Color &color)
 
const ColorgetForegroundColor () const
 
void setBackgroundColor (const Color &color)
 
const ColorgetBackgroundColor () const
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
FocusHandlergetFocusHandler ()
 
void addActionListener (ActionListener *const actionListener)
 
void removeActionListener (ActionListener *const actionListener)
 
void addDeathListener (WidgetDeathListener *const deathListener)
 
void removeDeathListener (WidgetDeathListener *const deathListener)
 
void addMouseListener (MouseListener *const mouseListener)
 
void removeMouseListener (MouseListener *const mouseListener)
 
void addKeyListener (KeyListener *const keyListener)
 
void removeKeyListener (KeyListener *const keyListener)
 
void addFocusListener (FocusListener *const focusListener)
 
void removeFocusListener (FocusListener *const focusListener)
 
void addWidgetListener (WidgetListener *const widgetListener)
 
void removeWidgetListener (WidgetListener *const widgetListener)
 
void setActionEventId (const std::string &actionEventId)
 
const std::string & getActionEventId () const
 
virtual void getAbsolutePosition (int &x, int &y) const
 
virtual void setParent (Widget *parent)
 
FontgetFont () const
 
void setFont (Font *const font)
 
virtual void fontChanged ()
 
bool isTabInEnabled () const
 
void setTabInEnabled (const bool enabled)
 
bool isTabOutEnabled () const
 
void setTabOutEnabled (const bool enabled)
 
void requestModalFocus ()
 
virtual void requestModalMouseInputFocus ()
 
virtual void releaseModalFocus ()
 
virtual void releaseModalMouseInputFocus ()
 
virtual bool isModalFocused () const
 
virtual bool isModalMouseInputFocused () const
 
const std::list< MouseListener * > & getMouseListeners () const A_CONST
 
const std::list< KeyListener * > & getKeyListeners () const A_CONST
 
const std::list< FocusListener * > & getFocusListeners () const A_CONST
 
virtual FocusHandlergetInternalFocusHandler ()
 
void setInternalFocusHandler (FocusHandler *const internalFocusHandler)
 
void setId (const std::string &id)
 
const std::string & getId () const
 
virtual void showPart (const Rect &rectangle)
 
bool isAllowLogic () const
 
void setMouseConsume (const bool b)
 
bool isMouseConsume () const
 
void setRedraw (const bool b)
 
virtual bool isSelectable () const
 
void setSelectable (const bool selectable)
 
void windowResized ()
 
virtual void postInit ()
 
- Public Member Functions inherited from Widget2
virtual ~Widget2 ()
 
const ColorgetThemeColor (const ThemeColorIdT type, const unsigned int alpha) const A_INLINE
 
const ColorgetThemeCharColor (const signed char c, bool &valid) const A_INLINE
 
virtual void setWidget2 (const Widget2 *const widget)
 
void setPalette (int palette)
 
void checkPalette ()
 
void setForegroundColor2 (const Color &color)
 
WidgetgetWindow () const
 
virtual void setWindow (Widget *const window)
 
- Public Member Functions inherited from WidgetDeathListener
virtual ~WidgetDeathListener ()
 
- Public Member Functions inherited from MouseListener
virtual ~MouseListener ()
 
virtual void mousePressed (MouseEvent &event)
 
virtual void mouseReleased (MouseEvent &event)
 
virtual void mouseClicked (MouseEvent &event)
 
virtual void mouseWheelMovedUp (MouseEvent &event)
 
virtual void mouseWheelMovedDown (MouseEvent &event)
 
virtual void mouseMoved (MouseEvent &event)
 
virtual void mouseDragged (MouseEvent &event)
 
- Public Member Functions inherited from WidgetListener
virtual ~WidgetListener ()
 
virtual void widgetHidden (const Event &event)
 
virtual void widgetShown (const Event &event)
 

Private Attributes

BeingsListModelmBeings
 

Additional Inherited Members

- Public Types inherited from Tab
enum  {
  TAB_STANDARD = 0, TAB_HIGHLIGHTED = 1, TAB_SELECTED = 2, TAB_UNUSED = 3,
  TAB_COUNT = 4
}
 
- Static Public Member Functions inherited from Tab
static void finalCleanup ()
 
- Static Public Member Functions inherited from Widget
static void setGlobalFont (Font *const font)
 
static FontgetGloablFont ()
 
static void cleanGlobalFont ()
 
static bool widgetExists (const Widget *const widget)
 
static void distributeWindowResizeEvent ()
 
static WidgetcallPostInit (Widget *const widget)
 
- Data Fields inherited from Widget
Visible mVisible
 
- Protected Types inherited from BasicContainer
typedef std::vector< Widget * > WidgetList
 
typedef WidgetList::iterator WidgetListIterator
 
typedef WidgetList::const_iterator WidgetListConstIterator
 
typedef WidgetList::reverse_iterator WidgetListReverseIterator
 
typedef WidgetList::const_reverse_iterator WidgetListCReverseIterator
 
- Protected Types inherited from Widget
typedef std::list< MouseListener * > MouseListenerList
 
typedef MouseListenerList::iterator MouseListenerIterator
 
typedef std::list< KeyListener * > KeyListenerList
 
typedef KeyListenerList::iterator KeyListenerIterator
 
typedef std::list< ActionListener * > ActionListenerList
 
typedef ActionListenerList::iterator ActionListenerIterator
 
typedef std::list< WidgetDeathListener * > WidgetDeathListenerList
 
typedef WidgetDeathListenerList::iterator WidgetDeathListenerIterator
 
typedef std::list< FocusListener * > FocusListenerList
 
typedef FocusListenerList::iterator FocusListenerIterator
 
typedef std::list< WidgetListener * > WidgetListenerList
 
typedef WidgetListenerList::iterator WidgetListenerIterator
 
- Protected Member Functions inherited from SocialTab
 SocialTab (const Widget2 *const widget)
 
 ~SocialTab ()
 
void createControls (AvatarListModel *const listModel, const Opaque showBackground)
 
void setCurrent ()
 
void updateCounter () const
 
void updateMenu () const
 
- Protected Member Functions inherited from BasicContainer
virtual void drawChildren (Graphics *const graphics)
 
virtual void safeDrawChildren (Graphics *const graphics)
 
virtual void logicChildren ()
 
- Protected Member Functions inherited from Widget
void distributeActionEvent ()
 
void distributeResizedEvent ()
 
void distributeMovedEvent ()
 
void distributeHiddenEvent ()
 
void distributeShownEvent ()
 
- Protected Member Functions inherited from Widget2
 Widget2 (const Widget2 *const widget)
 
- Protected Member Functions inherited from WidgetDeathListener
 WidgetDeathListener ()
 
- Protected Member Functions inherited from MouseListener
 MouseListener ()
 
- Protected Member Functions inherited from WidgetListener
 WidgetListener ()
 
- Protected Attributes inherited from SocialTab
TextDialogmInviteDialog
 
ConfirmDialogmConfirmDialog
 
ScrollAreamScroll
 
AvatarListBoxmList
 
std::string mCounterString
 
std::string mMenuAction
 
- Protected Attributes inherited from Tab
LabelmLabel
 
TabbedAreamTabbedArea
 
bool mHasMouse
 
- Protected Attributes inherited from BasicContainer
WidgetList mWidgets
 
WidgetList mLogicWidgets
 
- Protected Attributes inherited from Widget
MouseListenerList mMouseListeners
 
KeyListenerList mKeyListeners
 
ActionListenerList mActionListeners
 
WidgetDeathListenerList mDeathListeners
 
FocusListenerList mFocusListeners
 
WidgetListenerList mWidgetListeners
 
Color mForegroundColor
 
Color mBackgroundColor
 
Color mBaseColor
 
Rect mDimension
 
std::string mActionEventId
 
std::string mId
 
FocusHandlermFocusHandler
 
FocusHandlermInternalFocusHandler
 
WidgetmParent
 
FontmCurrentFont
 
unsigned int mFrameSize
 
bool mFocusable
 
bool mTabIn
 
bool mTabOut
 
bool mEnabled
 
bool mAllowLogic
 
bool mMouseConsume
 
bool mRedraw
 
bool mSelectable
 
- Protected Attributes inherited from Widget2
int mPaletteOffset
 
WidgetmWindow
 
Color mForegroundColor2
 
- Static Protected Attributes inherited from Widget
static FontmGlobalFont = 0
 

Detailed Description

Definition at line 48 of file socialnavigationtab.h.

Constructor & Destructor Documentation

◆ SocialNavigationTab()

SocialNavigationTab::SocialNavigationTab ( const Widget2 *const  widget,
const Opaque  showBackground 
)
inline

Definition at line 51 of file socialnavigationtab.h.

References _, A_DELETE_COPY, SocialTab::createControls(), mBeings, SocialTab::mMenuAction, and Tab::setCaption().

52  :
53  SocialTab(widget),
55  {
56  createControls(mBeings, showBackground);
57 
58  // TRANSLATORS: Navigation tab name in social window.
59  // TRANSLATORS: Should be small
60  setCaption(_("Nav"));
61  mMenuAction = "navigation";
62  }
#define _(s)
Definition: gettext.h:34
void setCaption(const std::string &caption)
Definition: tab.cpp:457
void createControls(AvatarListModel *const listModel, const Opaque showBackground)
Definition: socialtab.h:106
BeingsListModel * mBeings
std::string mMenuAction
Definition: socialtab.h:140
SocialTab(const Widget2 *const widget)
Definition: socialtab.h:77

◆ ~SocialNavigationTab()

SocialNavigationTab::~SocialNavigationTab ( )
inline

Definition at line 66 of file socialnavigationtab.h.

References delete2, mBeings, SocialTab::mList, and SocialTab::mScroll.

67  {
68  delete2(mList)
71  }
ScrollArea * mScroll
Definition: socialtab.h:137
#define delete2(var)
Definition: delete2.h:24
BeingsListModel * mBeings
AvatarListBox * mList
Definition: socialtab.h:138

Member Function Documentation

◆ addPortal()

void SocialNavigationTab::addPortal ( const int  x,
const int  y 
)
inline

Definition at line 244 of file socialnavigationtab.h.

References ActorType::Avatar, Map::findPortalXY(), MapItem::getComment(), SocialWindow::getMap(), BeingsListModel::getMembers(), MapItem::getType(), LocalPlayer::isReachable(), localPlayer, mBeings, socialWindow, strprintf(), x, and y.

245  {
246  if ((socialWindow == nullptr) || (localPlayer == nullptr))
247  return;
248 
249  const Map *const map = socialWindow->getMap();
250  if (map == nullptr)
251  return;
252 
253  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
254  const MapItem *const portal = map->findPortalXY(x, y);
255  if (portal == nullptr)
256  return;
257 
258  const std::string name = strprintf("%s [%d %d]",
259  portal->getComment().c_str(), x, y);
260 
261  Avatar *const ava = new Avatar(name);
262  if (localPlayer != nullptr)
263  ava->setOnline(localPlayer->isReachable(x, y, true));
264  else
265  ava->setOnline(false);
266  ava->setLevel(-1);
267  ava->setType(portal->getType());
268  ava->setX(x);
269  ava->setY(y);
270  avatars->push_back(ava);
271  }
const std::string & getComment() const
Definition: mapitem.h:67
bool isReachable(Being *const being, const int maxCost)
int getType() const
Definition: mapitem.h:54
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
BeingsListModel * mBeings
LocalPlayer * localPlayer
std::vector< Avatar * > * getMembers()
const Map * getMap() const
Definition: socialwindow.h:100
SocialWindow * socialWindow
MapItem * findPortalXY(const int x, const int y) const
Definition: map.cpp:1333
Definition: avatar.h:39
Definition: map.h:71

◆ getPortalIndex()

int SocialNavigationTab::getPortalIndex ( const int  x,
const int  y 
)
inline

Definition at line 216 of file socialnavigationtab.h.

References SocialWindow::getMap(), BeingsListModel::getMembers(), Avatar::getX(), Avatar::getY(), mBeings, socialWindow, and y.

217  {
218  if (socialWindow == nullptr)
219  return -1;
220 
221  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
222  const Map *const map = socialWindow->getMap();
223  if (map == nullptr)
224  return -1;
225 
226  STD_VECTOR<Avatar*>::const_iterator i = avatars->begin();
227  const STD_VECTOR<Avatar*>::const_iterator i_end = avatars->end();
228  unsigned num = 0;
229  while (i != i_end)
230  {
231  const Avatar *const ava = *i;
232  if (ava == nullptr)
233  break;
234 
235  if (ava->getX() == x && ava->getY() == y)
236  return num;
237 
238  ++i;
239  num ++;
240  }
241  return -1;
242  }
BeingsListModel * mBeings
std::vector< Avatar * > * getMembers()
const Map * getMap() const
Definition: socialwindow.h:100
int getX() const
Definition: avatar.h:125
SocialWindow * socialWindow
Definition: avatar.h:39
Definition: map.h:71
int getY() const
Definition: avatar.h:131

◆ removePortal()

void SocialNavigationTab::removePortal ( const int  x,
const int  y 
)
inline

Definition at line 273 of file socialnavigationtab.h.

References SocialWindow::getMap(), BeingsListModel::getMembers(), Avatar::getX(), Avatar::getY(), localPlayer, mBeings, socialWindow, and y.

274  {
275  if ((socialWindow == nullptr) || (localPlayer == nullptr))
276  return;
277 
278  const Map *const map = socialWindow->getMap();
279  if (map == nullptr)
280  return;
281 
282  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
283  STD_VECTOR<Avatar*>::iterator i = avatars->begin();
284  const STD_VECTOR<Avatar*>::iterator i_end = avatars->end();
285 
286  while (i != i_end)
287  {
288  Avatar *ava = (*i);
289 
290  if (ava == nullptr)
291  break;
292 
293  if (ava->getX() == x && ava->getY() == y)
294  {
295  delete ava;
296  avatars->erase(i);
297  return;
298  }
299 
300  ++ i;
301  }
302  }
BeingsListModel * mBeings
LocalPlayer * localPlayer
std::vector< Avatar * > * getMembers()
const Map * getMap() const
Definition: socialwindow.h:100
int getX() const
Definition: avatar.h:125
SocialWindow * socialWindow
Definition: avatar.h:39
Definition: map.h:71
int getY() const
Definition: avatar.h:131

◆ selectIndex()

void SocialNavigationTab::selectIndex ( const unsigned  num)
inlinevirtual

Reimplemented from SocialTab.

Definition at line 168 of file socialnavigationtab.h.

References CAST_SIZE, BeingsListModel::getMembers(), Avatar::getX(), Avatar::getY(), localPlayer, mBeings, and LocalPlayer::navigateTo().

169  {
170  if (localPlayer == nullptr)
171  return;
172 
173  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
174  if (avatars->size() <= CAST_SIZE(num))
175  return;
176 
177  const Avatar *const ava = avatars->at(num);
178  if (ava != nullptr)
179  localPlayer->navigateTo(ava->getX(), ava->getY());
180  }
BeingsListModel * mBeings
LocalPlayer * localPlayer
std::vector< Avatar * > * getMembers()
int getX() const
Definition: avatar.h:125
bool navigateTo(const int x, const int y)
Definition: avatar.h:39
#define CAST_SIZE
Definition: cast.h:33
int getY() const
Definition: avatar.h:131

◆ updateList()

void SocialNavigationTab::updateList ( )
inlinevirtual

Reimplemented from SocialTab.

Definition at line 73 of file socialnavigationtab.h.

References _, actorManager, ActorType::Avatar, CAST_U32, config, Map::empty(), ActorManager::findPortalByTile(), Configuration::getBoolValue(), MapItem::getComment(), KeyboardConfig::getKeyShortString(), SocialWindow::getMap(), BeingsListModel::getMembers(), Map::getPortals(), SocialWindow::getProcessedPortals(), Map::getSpecialLayer(), SpecialLayer::getTile(), MapItem::getType(), MapItem::getX(), MapItem::getY(), LocalPlayer::isReachable(), OutfitWindow::keyName(), localPlayer, mBeings, SocialTab::mCounterString, outfitWindow, MapItem::setName(), Being::setName(), SocialWindow::setProcessedPortals(), socialWindow, strprintf(), SocialTab::updateCounter(), x, and y.

74  {
75  if ((socialWindow == nullptr) || (localPlayer == nullptr))
76  return;
77 
78  const Map *const map = socialWindow->getMap();
79  if ((map == nullptr) || map->empty())
80  return;
81 
83  return;
84 
85  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
86  STD_VECTOR<MapItem*> portals = map->getPortals();
87 
88  STD_VECTOR<MapItem*>::const_iterator i = portals.begin();
89  const SpecialLayer *const specialLayer = map->getSpecialLayer();
90 
91  STD_VECTOR<Avatar*>::iterator ia = avatars->begin();
92 
93  while (ia != avatars->end())
94  {
95  delete *ia;
96  ++ ia;
97  }
98 
99  avatars->clear();
100 
101  int online = 0;
102  int total = 0;
103 
104  int idx = 0;
105  while (i != portals.end())
106  {
107  MapItem *portal = *i;
108  if (portal == nullptr)
109  continue;
110 
111  const int x = portal->getX();
112  const int y = portal->getY();
113 
114  const std::string name = strprintf("%s [%d %d]",
115  portal->getComment().c_str(), x, y);
116 
117  Avatar *const ava = new Avatar(name);
118  if (localPlayer != nullptr)
119  ava->setOnline(localPlayer->isReachable(x, y, true));
120  else
121  ava->setOnline(false);
122  ava->setLevel(-1);
123  ava->setType(portal->getType());
124  ava->setX(x);
125  ava->setY(y);
126  avatars->push_back(ava);
127 
128  if (ava->getOnline())
129  online ++;
130  total ++;
131 
132  if (config.getBoolValue("drawHotKeys")
133  && idx < 80 && (outfitWindow != nullptr))
134  {
135  Being *const being = actorManager
136  ->findPortalByTile(x, y);
137  if (being != nullptr)
138  {
140  OutfitWindow::keyName(idx)));
141  }
142 
143  if (specialLayer != nullptr)
144  {
145  portal = specialLayer->getTile(
146  ava->getX(), ava->getY());
147  if (portal != nullptr)
148  {
150  OutfitWindow::keyName(idx)));
151  }
152  }
153  }
154 
155  ++i;
156  idx ++;
157  }
158  if (socialWindow != nullptr)
160 
161  // TRANSLATORS: social window label
162  mCounterString = strprintf(_("Portals: %u/%u"),
163  CAST_U32(online),
164  CAST_U32(total));
165  updateCounter();
166  }
#define CAST_U32
Definition: cast.h:30
void setProcessedPortals(const bool n)
Definition: socialwindow.h:109
#define _(s)
Definition: gettext.h:34
bool empty() const
Definition: map.h:320
int getY() const
Definition: mapitem.h:64
OutfitWindow * outfitWindow
const std::string & getComment() const
Definition: mapitem.h:67
Configuration config
std::string mCounterString
Definition: socialtab.h:139
void setName(const std::string &name)
Definition: mapitem.h:76
const std::vector< MapItem * > & getPortals() const
Definition: map.h:270
bool getProcessedPortals() const
Definition: socialwindow.h:106
static std::string getKeyShortString(const std::string &key)
bool getBoolValue(const std::string &key) const
bool isReachable(Being *const being, const int maxCost)
int getType() const
Definition: mapitem.h:54
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
int getX() const
Definition: mapitem.h:61
BeingsListModel * mBeings
LocalPlayer * localPlayer
SpecialLayer * getSpecialLayer() const
Definition: map.h:240
MapItem * getTile(const int x, const int y) const
std::vector< Avatar * > * getMembers()
const Map * getMap() const
Definition: socialwindow.h:100
SocialWindow * socialWindow
Definition: avatar.h:39
Definition: map.h:71
static std::string keyName(const int number)
void setName(const std::string &name)
Definition: being.cpp:1135
Definition: being.h:93
void updateCounter() const
Definition: socialtab.h:123
Being * findPortalByTile(const int x, const int y) const
ActorManager * actorManager

◆ updateNames()

void SocialNavigationTab::updateNames ( )
inline

Definition at line 182 of file socialnavigationtab.h.

References Map::findPortalXY(), MapItem::getComment(), SocialWindow::getMap(), BeingsListModel::getMembers(), MapItem::getX(), Avatar::getX(), MapItem::getY(), Avatar::getY(), ServerCommandType::item, mBeings, Avatar::setName(), Avatar::setOriginalName(), socialWindow, and strprintf().

183  {
184  if (socialWindow == nullptr)
185  return;
186 
187  STD_VECTOR<Avatar*> *const avatars = mBeings->getMembers();
188 
189  const Map *const map = socialWindow->getMap();
190  if (map == nullptr)
191  return;
192 
193  STD_VECTOR<Avatar*>::const_iterator i = avatars->begin();
194  const STD_VECTOR<Avatar*>::const_iterator i_end = avatars->end();
195  while (i != i_end)
196  {
197  Avatar *const ava = *i;
198  if (ava == nullptr)
199  break;
200 
201  const MapItem *const item = map->findPortalXY(
202  ava->getX(), ava->getY());
203  if (item != nullptr)
204  {
205  const std::string name = strprintf("%s [%d %d]",
206  item->getComment().c_str(),
207  item->getX(), item->getY());
208  ava->setName(name);
209  ava->setOriginalName(name);
210  }
211 
212  ++i;
213  }
214  }
void setOriginalName(const std::string &name)
Definition: avatar.h:74
int getY() const
Definition: mapitem.h:64
const std::string & getComment() const
Definition: mapitem.h:67
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
int getX() const
Definition: mapitem.h:61
BeingsListModel * mBeings
std::vector< Avatar * > * getMembers()
const Map * getMap() const
Definition: socialwindow.h:100
int getX() const
Definition: avatar.h:125
void setName(const std::string &name)
Definition: avatar.h:58
SocialWindow * socialWindow
MapItem * findPortalXY(const int x, const int y) const
Definition: map.cpp:1333
Definition: avatar.h:39
Definition: map.h:71
int getY() const
Definition: avatar.h:131

Field Documentation

◆ mBeings

BeingsListModel* SocialNavigationTab::mBeings
private

The documentation for this class was generated from the following file: