summaryrefslogtreecommitdiff
path: root/src/gui/popup.h
diff options
context:
space:
mode:
authorIra Rice <irarice@gmail.com>2009-03-25 11:31:02 -0600
committerIra Rice <irarice@gmail.com>2009-03-25 11:31:02 -0600
commite0be7afc936c39e2b0e1db84a13653cfd78a6035 (patch)
treef5e99fa2f4f2d7c1c7149bd66e410798ae632735 /src/gui/popup.h
parentf6e7a477681109aea040456e3f4ebd0f65645ecc (diff)
downloadmana-e0be7afc936c39e2b0e1db84a13653cfd78a6035.tar.gz
mana-e0be7afc936c39e2b0e1db84a13653cfd78a6035.tar.bz2
mana-e0be7afc936c39e2b0e1db84a13653cfd78a6035.tar.xz
mana-e0be7afc936c39e2b0e1db84a13653cfd78a6035.zip
Modified skin loading to save and load a skin's XML path, as well as
modified the skin loading method to take a default value, in case the value in the configuration file fails to load for one reason or another. While this doesn't directly expose skinning on a per window basis to the user at the moment, it does allow people to change what skins get loaded with which windows now without needing to modify the code. TODO: Determine a decent approach to allowing the user to change their window skins in game, as well as moving all widget skin loading to the skin class (for instance, the button skins, progressbar skins, etc.) so that different skin configurations can use different widget skins. Signed-off-by: Ira Rice <irarice@gmail.com>
Diffstat (limited to 'src/gui/popup.h')
-rw-r--r--src/gui/popup.h35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/gui/popup.h b/src/gui/popup.h
index 3e3ff5ad..868f2a2b 100644
--- a/src/gui/popup.h
+++ b/src/gui/popup.h
@@ -67,6 +67,18 @@ class Popup : public gcn::Container
static void setWindowContainer(WindowContainer *windowContainer);
/**
+ * Changes the popup's skin to use the skin defined in the saved
+ * configuration file.
+ */
+ void loadPopupConfiguration();
+
+ /**
+ * Currently only saves the skin used by the popup so that when the
+ * client is reloaded, it can use the saved skin.
+ */
+ void savePopupConfiguration();
+
+ /**
* Draws the popup.
*/
void draw(gcn::Graphics *graphics);
@@ -167,17 +179,18 @@ class Popup : public gcn::Container
virtual gcn::Rectangle getChildrenArea();
private:
- Window *mParent; /**< The parent Window (if there is one) */
- std::string mPopupName; /**< Name of the Popup */
- int mMinWidth; /**< Minimum Popup width */
- int mMinHeight; /**< Minimum Popup height */
- int mMaxWidth; /**< Maximum Popup width */
- int mMaxHeight; /**< Maximum Popup height */
- unsigned int mPadding; /**< Holds the padding of the window. */
-
- static int instances; /**< Number of Popup instances */
-
- Skin* mSkin; /**< Skin in use by this Popup */
+ Window *mParent; /**< The parent Window (if there is one) */
+ std::string mPopupName; /**< Name of the popup */
+ std::string mDefaultSkinPath; /**< Default skin path for this popup */
+ int mMinWidth; /**< Minimum popup width */
+ int mMinHeight; /**< Minimum popup height */
+ int mMaxWidth; /**< Maximum popup width */
+ int mMaxHeight; /**< Maximum popup height */
+ unsigned int mPadding; /**< Holds the padding of the popup. */
+
+ static int instances; /**< Number of popup instances */
+
+ Skin* mSkin; /**< Skin in use by this popup */
};
#endif