diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-10-28 18:18:13 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-10-28 18:18:13 +0300 |
commit | 8cd16a9a9ca605137276379361b0328af736c2cc (patch) | |
tree | 5a0c52367d604c42e0bcd7bdf26665900b179166 /src/gui | |
parent | 0cdc936ea83fe265fb6bd1d128b10ff6b53e6254 (diff) | |
download | manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.gz manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.bz2 manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.tar.xz manaplus-8cd16a9a9ca605137276379361b0328af736c2cc.zip |
Add support for add images into buttons in skinned npc dialogs.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/widgets/button.h | 6 | ||||
-rw-r--r-- | src/gui/windows/npcdialog.cpp | 20 |
2 files changed, 21 insertions, 5 deletions
diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h index cb96fa7e3..67ba32da8 100644 --- a/src/gui/widgets/button.h +++ b/src/gui/widgets/button.h @@ -253,6 +253,12 @@ class Button final : public Widget, void setWindow(Widget *const widget) override final; + void setImageWidth(const int width) + { mImageWidth = width; } + + void setImageHeight(const int height) + { mImageHeight = height; } + enum { BUTTON_STANDARD = 0, // 0 diff --git a/src/gui/windows/npcdialog.cpp b/src/gui/windows/npcdialog.cpp index 8e9ef526a..bb6a84eb7 100644 --- a/src/gui/windows/npcdialog.cpp +++ b/src/gui/windows/npcdialog.cpp @@ -1146,12 +1146,22 @@ void NpcDialog::createSkinControls() FOR_EACH (std::vector<NpcButtonInfo*>::const_iterator, it, dialog->buttons) { const NpcButtonInfo *const info = *it; - Button *const button = new Button(this, - info->name, - "skin_" + info->value, - this); - + Button *const button = new Button(this); + button->setCaption(info->name); + button->setActionEventId("skin_" + info->value); + button->addActionListener(this); button->setPosition(info->x, info->y); + if (!info->image.empty()) + { + button->setImageWidth(info->imageWidth); + button->setImageHeight(info->imageHeight); + button->loadImageSet(info->image); + } mSkinContainer->add(button); + logger->log("test 1"); + button->adjustSize(); + logger->log("test 2"); + button->setWidth(20); + button->setHeight(20); } } |