diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-05-17 18:04:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-05-17 18:04:30 +0300 |
commit | e77e10c6983b0bf1549f9ce98f52f0b6a0787db6 (patch) | |
tree | e672e2e3b8f4fcebc1bf3f5d1e21470c7838471f /src/gui/windows/statuswindow.cpp | |
parent | decb667f420d1f33d064f4335094a7a293963f35 (diff) | |
download | plus-e77e10c6983b0bf1549f9ce98f52f0b6a0787db6.tar.gz plus-e77e10c6983b0bf1549f9ce98f52f0b6a0787db6.tar.bz2 plus-e77e10c6983b0bf1549f9ce98f52f0b6a0787db6.tar.xz plus-e77e10c6983b0bf1549f9ce98f52f0b6a0787db6.zip |
Move attribute controls from statuswindow into separate file.
Diffstat (limited to 'src/gui/windows/statuswindow.cpp')
-rw-r--r-- | src/gui/windows/statuswindow.cpp | 86 |
1 files changed, 1 insertions, 85 deletions
diff --git a/src/gui/windows/statuswindow.cpp b/src/gui/windows/statuswindow.cpp index 99ed112eb..00c5c5c2f 100644 --- a/src/gui/windows/statuswindow.cpp +++ b/src/gui/windows/statuswindow.cpp @@ -46,6 +46,7 @@ #include "gui/widgets/layouttype.h" #include "gui/widgets/progressbar.h" #include "gui/widgets/scrollarea.h" +#include "gui/widgets/statuswindowattrs.h" #include "gui/widgets/vertcontainer.h" #include "net/net.h" @@ -59,91 +60,6 @@ #include "debug.h" -class AttrDisplay : public Container -{ - public: - enum Type - { - DERIVED = 0, - CHANGEABLE, - UNKNOWN - }; - - A_DELETE_COPY(AttrDisplay) - - virtual ~AttrDisplay(); - - virtual std::string update(); - - virtual Type getType() const - { return UNKNOWN; } - - std::string getValue() const - { - if (!mValue) - return "-"; - else - return mValue->getCaption(); - } - - const std::string &getShortName() const - { return mShortName; } - - protected: - AttrDisplay(const Widget2 *const widget, - const int id, - const std::string &restrict name, - const std::string &restrict shortName); - - const int mId; - const std::string mName; - const std::string mShortName; - - LayoutHelper *mLayout; - Label *mLabel; - Label *mValue; -}; - -class DerDisplay final : public AttrDisplay -{ - public: - DerDisplay(const Widget2 *const widget, - const int id, const std::string &restrict name, - const std::string &restrict shortName); - - A_DELETE_COPY(DerDisplay) - - Type getType() const override final - { return DERIVED; } -}; - -class ChangeDisplay final : public AttrDisplay, - public ActionListener -{ - public: - ChangeDisplay(const Widget2 *const widget, - const int id, const std::string &restrict name, - const std::string &restrict shortName); - - A_DELETE_COPY(ChangeDisplay) - - std::string update() override final; - - Type getType() const override final - { return CHANGEABLE; } - - void setPointsNeeded(const int needed); - - void action(const ActionEvent &event) override final; - - private: - int mNeeded; - - Label *mPoints; - Button *mDec; - Button *mInc; -}; - StatusWindow::StatusWindow() : Window(player_node ? player_node->getName() : "?", false, nullptr, "status.xml"), |