]> git.llucax.com Git - software/bife/bife++.git/blob - main.cpp
Added a basic string widget.
[software/bife/bife++.git] / main.cpp
1 // vim: set expandtab tabstop=4 shiftwidth=4:
2
3 #include <string>
4 #include <iostream>
5 #include <sstream>
6 #include "hit.h"
7 #include "ghit.h"
8 #include "chit.h"
9 #include "string.h"
10
11 using namespace std;
12 using namespace bife;
13
14 int main(void) {
15     const string indent = "    ";
16     Hash vars;
17     vars["NOMBRE"] = "Luca man";
18     vars["EDAD"]   = "21";
19
20     cout << "HIT example:" << endl;
21     cout << "============" << endl;
22     HIT h;
23     cout << indent << h.parse("test", vars) << endl << endl << endl;
24
25     cout << "GHIT example:" << endl;
26     cout << "=============" << endl;
27     vars["NOMBRE"] = "Pedro";
28     vars["EDAD"]   = "26";
29     GHIT g("./././");
30     cout << "We are using the default group: '" << g.getGroup() << "'." << endl;
31     cout << indent << g.parse("test", vars) << endl;
32     g.pushGroup("tpldir");
33     cout << "We start using the '" << g.getGroup() << "' group." << endl;
34     cout << indent << g.parse("test2", vars) << endl;
35     cout << "We stop using '";
36     cout << g.popGroup() << "' group, and go back to default one ('";
37     cout << g.getGroup() << "')." << endl;
38     cout << indent << g.parse("test", vars) << endl << endl << endl;
39
40     cout << "CHIT example:" << endl;
41     cout << "=============" << endl;
42     CHIT chit("././././././", ".tpl.html");
43     const int n = 65;
44     for (int i = n; i < (n+10); i++) {
45         stringstream ssi, ssc;
46         ssi << i;
47         ssc << char(i);
48         vars["NOMBRE"] = "Chit gay " + ssc.str();
49         vars["EDAD"]   = ssi.str();
50         cout << indent << chit.parse("test", vars) << endl;
51     }
52
53     cout << "bife::String example:" << endl;
54     cout << "=====================" << endl;
55     string s = "std::string";
56     String a("Un string");
57     String b = "Otro string";
58     //String c = s;
59     cout << "s: '" << s << "' - "
60         << "a: '" << a << "' - "
61         << "b: '" << b << endl;
62     cout << "a.render(): '" << a.render(chit) << "' - "
63         << "b.render(): '" << b.render(chit) << endl;
64 }