summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-18 01:35:25 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-18 01:35:25 +0200
commit9ca2198b767e1bf810aa5b75657f0d18ce06a57b (patch)
treeb2258d2ea07d84a3f1c52c91186c975a7c3e10b7
parentadfa29a6436c2bb1ff2f05ef83e2eb0fa99d6068 (diff)
downloadmana-9ca2198b767e1bf810aa5b75657f0d18ce06a57b.tar.gz
mana-9ca2198b767e1bf810aa5b75657f0d18ce06a57b.tar.bz2
mana-9ca2198b767e1bf810aa5b75657f0d18ce06a57b.tar.xz
mana-9ca2198b767e1bf810aa5b75657f0d18ce06a57b.zip
Add functions to make the item popup able to tell whether the item
is equipped or not. It will be used quite soon to visually see the slot names.
-rw-r--r--src/gui/itempopup.cpp32
-rw-r--r--src/gui/itempopup.h11
2 files changed, 42 insertions, 1 deletions
diff --git a/src/gui/itempopup.cpp b/src/gui/itempopup.cpp
index 60943756..de8378d5 100644
--- a/src/gui/itempopup.cpp
+++ b/src/gui/itempopup.cpp
@@ -123,6 +123,31 @@ ItemPopup::~ItemPopup()
}
}
+void ItemPopup::setEquipmentText(const std::string& text)
+{
+ mItemEquipSlot = text;
+}
+
+void ItemPopup::setNoItem()
+{
+ mIcon->setImage(0);
+
+ std::string caption = _("No item");
+ if (!mItemEquipSlot.empty())
+ {
+ caption += " (";
+ caption += mItemEquipSlot;
+ caption += ")";
+ }
+ mItemName->setCaption(caption);
+ mItemName->adjustSize();
+
+ mItemName->setForegroundColor(Theme::getThemeColor(Theme::GENERIC));
+ mItemName->setPosition(getPadding(), getPadding());
+
+ setContentSize(mItemName->getWidth() + 2 * getPadding(), 0);
+}
+
void ItemPopup::setItem(const ItemInfo &item, bool showImage)
{
if (item.getName() == mItemName->getCaption())
@@ -157,7 +182,11 @@ void ItemPopup::setItem(const ItemInfo &item, bool showImage)
mItemType = item.getItemType();
- mItemName->setCaption(item.getName());
+ std::string caption = item.getName();
+ if (!mItemEquipSlot.empty())
+ caption += " (" + mItemEquipSlot + ")";
+
+ mItemName->setCaption(caption);
mItemName->adjustSize();
mItemName->setForegroundColor(getColorFromItemType(mItemType));
mItemName->setPosition(getPadding() + space, getPadding());
@@ -226,5 +255,6 @@ void ItemPopup::mouseMoved(gcn::MouseEvent &event)
// When the mouse moved on top of the popup, hide it
setVisible(false);
+ mItemEquipSlot.clear();
}
diff --git a/src/gui/itempopup.h b/src/gui/itempopup.h
index f054ddf5..95adcf45 100644
--- a/src/gui/itempopup.h
+++ b/src/gui/itempopup.h
@@ -49,6 +49,16 @@ class ItemPopup : public Popup
~ItemPopup();
/**
+ * Tells the item popup to say: No Item.
+ */
+ void setNoItem();
+
+ /**
+ * Tells in which equipment slot the item is equipped.
+ */
+ void setEquipmentText(const std::string& text = std::string());
+
+ /**
* Sets the info to be displayed given a particular item.
*/
void setItem(const ItemInfo &item, bool showImage = false);
@@ -60,6 +70,7 @@ class ItemPopup : public Popup
TextBox *mItemDesc;
TextBox *mItemEffect;
TextBox *mItemWeight;
+ std::string mItemEquipSlot;
ItemType mItemType;
Icon *mIcon;
};