summaryrefslogtreecommitdiff
path: root/src/guiFormSpecMenu.h
diff options
context:
space:
mode:
authorRealBadAngel <maciej.kasatkin@o2.pl>2014-06-24 12:28:24 +0200
committerRealBadAngel <maciej.kasatkin@o2.pl>2014-06-24 22:11:47 +0200
commit27538ecef51ebcc7622f13956d2f8e101d0f71a7 (patch)
treea343581331dcb346c9a1a7d0a3f4a2463bff0818 /src/guiFormSpecMenu.h
parentd1ee708db2bd41cf46f5cafc54053e54f47fbac9 (diff)
downloadminetest-27538ecef51ebcc7622f13956d2f8e101d0f71a7.tar.gz
minetest-27538ecef51ebcc7622f13956d2f8e101d0f71a7.tar.bz2
minetest-27538ecef51ebcc7622f13956d2f8e101d0f71a7.zip
Tooltips rework.
Separate element for tooltips. Delayed showing, use global color or given ones.
Diffstat (limited to 'src/guiFormSpecMenu.h')
-rw-r--r--src/guiFormSpecMenu.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/guiFormSpecMenu.h b/src/guiFormSpecMenu.h
index 81dd7ba16..da0826681 100644
--- a/src/guiFormSpecMenu.h
+++ b/src/guiFormSpecMenu.h
@@ -159,7 +159,6 @@ class GUIFormSpecMenu : public GUIModalMenu
send = false;
ftype = f_Unknown;
is_exit = false;
- tooltip="";
}
std::wstring fname;
std::wstring flabel;
@@ -169,7 +168,6 @@ class GUIFormSpecMenu : public GUIModalMenu
FormspecFieldType ftype;
bool is_exit;
core::rect<s32> rect;
- std::string tooltip;
};
struct BoxDrawSpec {
@@ -184,6 +182,22 @@ class GUIFormSpecMenu : public GUIModalMenu
irr::video::SColor color;
};
+ struct TooltipSpec {
+ TooltipSpec()
+ {
+ }
+ TooltipSpec(std::string a_tooltip, irr::video::SColor a_bgcolor,
+ irr::video::SColor a_color):
+ tooltip(a_tooltip),
+ bgcolor(a_bgcolor),
+ color(a_color)
+ {
+ }
+ std::string tooltip;
+ irr::video::SColor bgcolor;
+ irr::video::SColor color;
+ };
+
public:
GUIFormSpecMenu(irr::IrrlichtDevice* dev,
gui::IGUIElement* parent, s32 id,
@@ -286,7 +300,8 @@ protected:
std::vector<FieldSpec> m_fields;
std::vector<std::pair<FieldSpec,GUITable*> > m_tables;
std::vector<std::pair<FieldSpec,gui::IGUICheckBox*> > m_checkboxes;
-
+ std::map<std::wstring, TooltipSpec> m_tooltips;
+
ItemSpec *m_selected_item;
u32 m_selected_amount;
bool m_selected_dragging;
@@ -300,6 +315,10 @@ protected:
v2s32 m_pointer;
gui::IGUIStaticText *m_tooltip_element;
+ s32 m_hoovered_time;
+ s32 m_old_tooltip_id;
+ std::string m_old_tooltip;
+
bool m_allowclose;
bool m_lock;
v2u32 m_lockscreensize;
@@ -311,6 +330,9 @@ protected:
video::SColor m_slotbg_n;
video::SColor m_slotbg_h;
video::SColor m_slotbordercolor;
+ video::SColor m_default_tooltip_bgcolor;
+ video::SColor m_default_tooltip_color;
+
private:
IFormSource *m_form_src;
TextDest *m_text_dst;
@@ -366,6 +388,7 @@ private:
void parseBox(parserData* data,std::string element);
void parseBackgroundColor(parserData* data,std::string element);
void parseListColors(parserData* data,std::string element);
+ void parseTooltip(parserData* data,std::string element);
/**
* check if event is part of a double click