]> git.llucax.com Git - software/bife/bife++.git/blob - translate.h
8a11499041afcc29c2ec42e19b961b07e69ea4c4
[software/bife/bife++.git] / translate.h
1 // vim: set expandtab tabstop=4 shiftwidth=4:
2
3 #ifndef BIFE_TRANSLATE_H
4 #define BIFE_TRANSLATE_H
5
6 #include "fallback.h"
7 #include "widget.h"
8 #include "hit.h"
9 #include "hash.h"
10 #include <vector>
11 #include <string>
12
13 namespace bife {
14
15     using std::string;
16
17     /**
18      * Base Translate Widget.
19      *
20      * @todo 
21      */
22     class Translate: public Fallback {
23         // Methods.
24         public:
25             /**
26              * Constructor.
27              *
28              * @param name    Name of the widget.
29              */
30             Translate(const string&);
31
32             /**
33              * Constructor.
34              *
35              * @param name    Name of the widget.
36              * @param attrs   Widget attributes.
37              */
38             Translate(const string&, const Hash&);
39
40             /**
41              * Constructor.
42              *
43              * @param name    Name of the widget.
44              * @param attrs   Widget attributes.
45              * @param content Content of the widget.
46              */
47             Translate(const string&, const Hash&, Widget&);
48
49             /**
50              * Constructor.
51              *
52              * @param name    Name of the widget.
53              * @param content Content of the widget.
54              */
55             Translate(const string&, Widget&);
56
57             /**
58              * Constructor.
59              *
60              * @param name    Name of the widget.
61              * @param content Content of the widget.
62              * @param attrs   Widget attributes.
63              */
64             Translate(const string&, Widget&, const Hash&);
65
66             /**
67              * Destructor.
68              */
69             virtual ~Translate(void);
70
71             /**
72              * Renders the widget using a HIT template.
73              *
74              * @param  hit HIT template to use to render de widget.
75              * @return Rendered widget.
76              */
77             virtual string render(HIT&);
78     };
79
80 }
81
82 #endif