@@ -49,6 +49,7 @@ namespace ui {
49
49
struct img_button_offsets { int data[4 ] = {0 , 1 , 2 , 3 }; };
50
50
51
51
const tooltip_context &get_tooltip ();
52
+ void set_tooltip (const xstring &text);
52
53
void begin_frame ();
53
54
void end_frame ();
54
55
void begin_widget (vec2i offset, bool relative = false );
@@ -126,7 +127,7 @@ struct element {
126
127
virtual int value () const { return 0 ; }
127
128
virtual void select (bool v) {}
128
129
virtual void max_value (int v) {}
129
- virtual pcstr tooltip () const { return " " ; }
130
+ virtual const xstring & tooltip () const { return xstring () ; }
130
131
virtual element &onclick (std::function<void (int , int )>) { return *this ; }
131
132
element &onclick (std::function<void ()> f) { onclick ([f] (int , int ) { f (); }); return *this ; }
132
133
virtual void onevent (std::function<void ()>) { }
@@ -256,7 +257,7 @@ struct elabel : public element {
256
257
virtual void text_color (color) override ;
257
258
virtual void font (int ) override ;
258
259
virtual e_font font () const override { return _font; }
259
- virtual pcstr tooltip () const override { return _tooltip. c_str () ; }
260
+ virtual const xstring & tooltip () const override { return _tooltip; }
260
261
virtual void width (int ) override ;
261
262
};
262
263
@@ -277,13 +278,15 @@ struct escrollbar : public element {
277
278
278
279
struct emenu_header : public element {
279
280
menu_header impl;
281
+ xstring _tooltip;
280
282
e_font _font;
281
283
282
284
virtual void load (archive elem, element *parent, items &elems) override ;
283
285
void load_items (archive elem, pcstr section);
284
286
virtual void draw () override ;
285
287
virtual void font (int v) override { _font = (e_font)v; }
286
288
virtual void text (pcstr text) override { impl.text = text; }
289
+ virtual const xstring &tooltip () const override { return _tooltip; }
287
290
virtual int text_width () override ;
288
291
menu_item &item (int i) { static menu_item dummy; return i < impl.items .size () ? impl.items [i] : dummy; }
289
292
menu_item &item (pcstr key);
0 commit comments