]> git.llucax.com Git - software/bife/bife++.git/blob - translate/translate_loader.cpp
- Normalized Fallback constructor to be the same of Widget (or Container).
[software/bife/bife++.git] / translate / translate_loader.cpp
1 // vim: set expandtab tabstop=4 shiftwidth=4:
2
3 #include "translate.h"
4 #include "../libbife/fallback.h"
5 #include "../libbife/widget.h"
6 #include "../libbife/hash.h"
7 #include <algorithm>
8 #include <string>
9
10 using bife::Translate;
11 using bife::Fallback;
12 using bife::Widget;
13 using bife::Hash;
14 using std::string;
15
16 /**
17  * Widget constructor.
18  *
19  * @param  name  Name of the widget to construct.
20  * @param  attrs Widget's attributes.
21  * @return A new Widget.
22  */
23 extern "C"
24 Widget* bife_widget_constructor(const string& name, const Hash& attrs) {
25     string cn = name;
26     std::transform(cn.begin(), cn.end(), cn.begin(), std::tolower);
27     if (cn == "translate") {
28         return new Translate(attrs);
29     } else {
30         return NULL;
31     }
32 }
33
34 /**
35  * Widget destructor.
36  *
37  * @param w The widget to destroy.
38  */
39 extern "C"
40 void bife_widget_destructor(Widget* w) {
41             delete w;
42 }