]> git.tdb.fi Git - libs/gltk.git/blob - source/label.cpp
Add an input method subsystem
[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         set_text(t);
13 }
14
15 void Label::set_text(const string &t)
16 {
17         text = t;
18         signal_autosize_changed.emit();
19         rebuild();
20 }
21
22 void Label::autosize_special(const Part &part, Geometry &ageom) const
23 {
24         if(part.get_name()=="text")
25                 text.autosize(part, ageom);
26 }
27
28 void Label::rebuild_special(const Part &part)
29 {
30         if(part.get_name()=="text")
31                 text.build(part, state, geom, part_cache);
32 }
33
34 void Label::on_style_change()
35 {
36         text.set_style(style);
37 }
38
39
40 Label::Loader::Loader(Label &l):
41         DataFile::DerivedObjectLoader<Label, Widget::Loader>(l)
42 {
43         add("text", &Loader::text);
44 }
45
46 void Label::Loader::text(const string &t)
47 {
48         obj.text = t;
49 }
50
51 } // namespace GLtk
52 } // namespace Msp