diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-10-18 23:20:45 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-10-19 15:12:22 +0300 |
commit | f239185e8368da2a9307af11c98a09d1e47d79bb (patch) | |
tree | 8a9e6a9b0229df9935d6d4761ce4e67bed68f119 | |
parent | 799ff280e470e19fdb617f828962c49f561a22d7 (diff) | |
download | manaplus-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.gz manaplus-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.bz2 manaplus-f239185e8368da2a9307af11c98a09d1e47d79bb.tar.xz manaplus-f239185e8368da2a9307af11c98a09d1e47d79bb.zip |
move virtual member calls from sliderlist constuctor into postInit.
-rw-r--r-- | src/gui/widgets/setupitem.cpp | 3 | ||||
-rw-r--r-- | src/gui/widgets/sliderlist.cpp | 16 | ||||
-rw-r--r-- | src/gui/widgets/sliderlist.h | 7 |
3 files changed, 17 insertions, 9 deletions
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp index 862fc11d6..043d0870f 100644 --- a/src/gui/widgets/setupitem.cpp +++ b/src/gui/widgets/setupitem.cpp @@ -979,7 +979,8 @@ void SetupItemSliderList::createControls() mHorizont = new HorizontContainer(this, 32, 2); mLabel = new Label(this, mText); - mSlider = new SliderList(this, mModel, mParent, mEventName); + mSlider = new SliderList(this, mModel); + mSlider->postInit(mParent, mEventName); mSlider->setSelectedString(mValue); mSlider->adjustSize(); diff --git a/src/gui/widgets/sliderlist.cpp b/src/gui/widgets/sliderlist.cpp index 3356e8f27..d41927f82 100644 --- a/src/gui/widgets/sliderlist.cpp +++ b/src/gui/widgets/sliderlist.cpp @@ -34,16 +34,14 @@ static const int buttonSpace = 30; static const int sliderHeight = 30; SliderList::SliderList(const Widget2 *const widget, - gcn::ListModel *const listModel, - gcn::ActionListener *const listener, - const std::string &eventId) : + gcn::ListModel *const listModel) : Container(widget), gcn::ActionListener(), gcn::MouseListener(), mLabel(new Label(this)), mListModel(listModel), - mPrevEventId(eventId + "_prev"), - mNextEventId(eventId + "_next"), + mPrevEventId(), + mNextEventId(), mOldWidth(0), mSelectedIndex(0) { @@ -51,6 +49,14 @@ SliderList::SliderList(const Widget2 *const widget, mButtons[0] = new Button(this, "<", mPrevEventId, this); mButtons[1] = new Button(this, ">", mNextEventId, this); +} + +void SliderList::postInit(gcn::ActionListener *const listener, + const std::string &eventId) +{ + mPrevEventId = eventId + "_prev"; + mNextEventId = eventId + "_next"; + add(mButtons[0]); add(mLabel); add(mButtons[1]); diff --git a/src/gui/widgets/sliderlist.h b/src/gui/widgets/sliderlist.h index 9209a4f55..8427ad2d5 100644 --- a/src/gui/widgets/sliderlist.h +++ b/src/gui/widgets/sliderlist.h @@ -38,14 +38,15 @@ class SliderList final : public Container, { public: SliderList(const Widget2 *const widget, - gcn::ListModel *const listModel = nullptr, - gcn::ActionListener *const listener = nullptr, - const std::string &eventId = ""); + gcn::ListModel *const listModel = nullptr); A_DELETE_COPY(SliderList) ~SliderList(); + void postInit(gcn::ActionListener *const listener, + const std::string &eventId); + void updateAlpha(); void mouseWheelMovedUp(gcn::MouseEvent& mouseEvent) override; |