]> git.tdb.fi Git - libs/gltk.git/blob - source/label.cpp
2de02f638249de9f7c544cc257c79b11f05300be
[libs/gltk.git] / source / label.cpp
1 #include "label.h"
2 #include "part.h"
3 #include "style.h"
4
5 using namespace std;
6
7 namespace Msp {
8 namespace GLtk {
9
10 Label::Label(const string &t)
11 {
12         focusable = false;
13         set_text(t);
14 }
15
16 void Label::set_text(const string &t)
17 {
18         text = t;
19         signal_autosize_changed.emit();
20         rebuild();
21 }
22
23 void Label::autosize_special(const Part &part, Geometry &ageom)
24 {
25         if(part.get_name()=="text")
26                 text.autosize(part, ageom);
27 }
28
29 void Label::rebuild_special(const Part &part)
30 {
31         if(part.get_name()=="text")
32                 text.build(part, state, geom, part_cache);
33 }
34
35 void Label::on_style_change()
36 {
37         text.set_style(style);
38 }
39
40
41 Label::Loader::Loader(Label &l):
42         DataFile::DerivedObjectLoader<Label, Widget::Loader>(l)
43 {
44         add("text", &Loader::text);
45 }
46
47 void Label::Loader::text(const string &t)
48 {
49         obj.text = t;
50 }
51
52 } // namespace GLtk
53 } // namespace Msp