From 3198ea5c33e58c71cdd489c32fcc3c864c2fe6e1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 12 May 2013 18:39:30 +0300 Subject: In chat selection dialog show popup with character name. --- src/gui/widgets/characterdisplay.cpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'src/gui/widgets/characterdisplay.cpp') diff --git a/src/gui/widgets/characterdisplay.cpp b/src/gui/widgets/characterdisplay.cpp index 23a22fbbb..dba6be286 100644 --- a/src/gui/widgets/characterdisplay.cpp +++ b/src/gui/widgets/characterdisplay.cpp @@ -23,6 +23,7 @@ #include "gui/widgets/characterdisplay.h" #include "gui/charselectdialog.h" +#include "gui/textpopup.h" #include "gui/widgets/label.h" #include "gui/widgets/layouthelper.h" @@ -32,9 +33,12 @@ CharacterDisplay::CharacterDisplay(const Widget2 *const widget, CharSelectDialog *const charSelectDialog) : Container(widget), + gcn::MouseListener(), + gcn::WidgetListener(), mCharacter(nullptr), mPlayerBox(new PlayerBox(nullptr)), - mName(new Label(this, "wwwwwwwwwwwwwwwwwwwwwwww")) + mName(new Label(this, "wwwwwwwwwwwwwwwwwwwwwwww")), + mPopup(new TextPopup) { mPlayerBox->setActionEventId("select"); mPlayerBox->addActionListener(charSelectDialog); @@ -55,6 +59,14 @@ CharacterDisplay::CharacterDisplay(const Widget2 *const widget, else setWidth(80); setHeight(120); + addMouseListener(this); + addWidgetListener(this); +} + +CharacterDisplay::~CharacterDisplay() +{ + delete mPopup; + mPopup = nullptr; } void CharacterDisplay::setCharacter(Net::Character *const character) @@ -84,3 +96,21 @@ void CharacterDisplay::update() distributeResizedEvent(); } + +void CharacterDisplay::widgetHidden(const gcn::Event &event) +{ + mPopup->setVisible(false); +} + +void CharacterDisplay::mouseExited(gcn::MouseEvent &event) +{ + mPopup->setVisible(false); +} + +void CharacterDisplay::mouseMoved(gcn::MouseEvent &event) +{ + int mouseX = 0; + int mouseY = 0; + SDL_GetMouseState(&mouseX, &mouseY); + mPopup->show(mouseX, mouseY, mName->getCaption()); +} -- cgit v1.2.3-60-g2f50