1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-25 06:35:30 +00:00
OpenMW/apps/openmw/mwgui/tooltips.hpp

84 lines
2.0 KiB
C++
Raw Normal View History

2012-04-14 17:47:44 +02:00
#ifndef MWGUI_TOOLTIPS_H
#define MWGUI_TOOLTIPS_H
#include <openengine/gui/layout.hpp>
#include "../mwworld/ptr.hpp"
2012-04-14 17:47:44 +02:00
namespace MWGui
{
2012-04-15 21:14:14 +02:00
class WindowManager;
// Info about tooltip that is supplied by the MWWorld::Class object
struct ToolTipInfo
{
public:
ToolTipInfo() :
effects(0)
{
};
std::string caption;
std::string text;
std::string icon;
// enchantment (for cloth, armor, weapons)
std::string enchant;
// effects (for potions, ingredients)
const ESM::EffectList* effects;
};
2012-04-14 17:47:44 +02:00
class ToolTips : public OEngine::GUI::Layout
{
public:
2012-04-15 21:14:14 +02:00
ToolTips(WindowManager* windowManager);
2012-04-14 17:47:44 +02:00
void onFrame(float frameDuration);
void enterGameMode();
void enterGuiMode();
void setEnabled(bool enabled);
2012-04-16 15:00:44 +02:00
void toggleFullHelp(); ///< show extra info in item tooltips (owner, script)
bool getFullHelp() const;
2012-04-16 15:00:44 +02:00
void setFocusObject(const MWWorld::Ptr& focus);
static std::string getValueString(const int value, const std::string& prefix);
///< @return "prefix: value" or "" if value is 0
static std::string getMiscString(const std::string& text, const std::string& prefix);
///< @return "prefix: text" or "" if text is empty
static std::string toString(const float value);
static std::string toString(const int value);
2012-05-12 13:46:03 +02:00
static std::string getCountString(const int value);
///< @return blank string if count is 1, or else " (value)"
2012-04-14 17:47:44 +02:00
private:
MyGUI::Widget* mDynamicToolTipBox;
2012-04-15 21:14:14 +02:00
WindowManager* mWindowManager;
MWWorld::Ptr mFocusObject;
2012-04-15 21:14:14 +02:00
void findImageExtension(std::string& image);
MyGUI::IntSize getToolTipViaPtr (bool image=true);
2012-04-15 21:14:14 +02:00
///< @return requested tooltip size
MyGUI::IntSize createToolTip(const ToolTipInfo& info);
2012-04-16 00:16:35 +02:00
///< @return requested tooltip size
2012-04-14 17:47:44 +02:00
bool mGameMode;
2012-04-16 15:00:44 +02:00
bool mEnabled;
2012-04-16 15:00:44 +02:00
bool mFullHelp;
2012-04-14 17:47:44 +02:00
};
}
#endif