]> git.llucax.com Git - software/bife/bife++.git/commitdiff
Now widgets are passed as pointer (and stored as pointers) in container classes.
authorLeandro Lucarella <llucax@gmail.com>
Sun, 17 Aug 2003 00:56:52 +0000 (00:56 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 17 Aug 2003 00:56:52 +0000 (00:56 +0000)
Added an append() method to append content to a container.

container.cpp
container.h
fallback.cpp
fallback.h
translate.cpp
translate.h

index 85d12425a6acd0bc6aed2663027b706d17934a16..a8966743b0cf57759255b404d85c53d56b72117c 100644 (file)
@@ -24,7 +24,7 @@ Container::Container(const Hash& attrs): Widget(attrs) {
 #endif
 }
 
-Container::Container(const Hash& attrs, Widget& content): Widget(attrs) {
+Container::Container(const Hash& attrs, Widget* content): Widget(attrs) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
     cerr << "In Container::Container(attrs = {" /* TODO << attrs */
@@ -32,7 +32,7 @@ Container::Container(const Hash& attrs, Widget& content): Widget(attrs) {
 #endif
 }
 
-Container::Container(Widget& content, const Hash& attrs): Widget(attrs) {
+Container::Container(Widget* content, const Hash& attrs): Widget(attrs) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
     cerr << "In Container::Container(content = {" /* TODO << content */
@@ -63,7 +63,11 @@ string Container::render(HIT& hit) {
 string Container::renderContent(HIT& hit) {
     stringstream out;
     for (Content::iterator i = content.begin(); i != content.end(); i++) {
-        out << i->render(hit);
+        out << (*i)->render(hit);
     }
     return out.str();
 }
+
+void Container::append(Widget* widget) {
+    content.push_back(widget);
+}
index f01dcac53a29a9d7f983713e334f2365ff856a30..eb2bb1f188acdc62dd8ce42e624ded04b1c6d6b0 100644 (file)
@@ -21,7 +21,7 @@ namespace bife {
     class Container: public Widget {
         // Typedefs
         protected:
-            typedef std::vector<Widget> Content;
+            typedef std::vector<Widget*> Content;
 
         // Attributes.
         protected:
@@ -48,7 +48,7 @@ namespace bife {
              * @param attrs   Widget attributes.
              * @param content Content of the widget.
              */
-            Container(const Hash&, Widget&);
+            Container(const Hash&, Widget*);
 
             /**
              * Constructor.
@@ -56,7 +56,7 @@ namespace bife {
              * @param content Content of the widget.
              * @param attrs   Widget attributes.
              */
-            Container(Widget&, const Hash&);
+            Container(Widget*, const Hash&);
 
             /**
              * Destructor.
@@ -70,6 +70,13 @@ namespace bife {
              * @return Rendered widget.
              */
             virtual string renderContent(HIT&);
+
+            /**
+             * Appends a widget to the container.
+             *
+             * @param widget Widget to append.
+             */
+            virtual void append(Widget*);
     };
 
 }
index 6179706b9a30330c748ee13d76a2545bc47b95b6..ca188b31178081c937b84fdd2d5dcde71a14cb4e 100644 (file)
@@ -26,7 +26,7 @@ Fallback::Fallback(const string& name, const Hash& attrs):
 #endif
 }
 
-Fallback::Fallback(const string& name, const Hash& attrs, Widget& content):
+Fallback::Fallback(const string& name, const Hash& attrs, Widget* content):
         Container(attrs, content), name(name) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
@@ -36,7 +36,7 @@ Fallback::Fallback(const string& name, const Hash& attrs, Widget& content):
 #endif
 }
 
-Fallback::Fallback(const string& name, Widget& content, const Hash& attrs):
+Fallback::Fallback(const string& name, Widget* content, const Hash& attrs):
         Container(content, attrs), name(name) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
index ade02b888f9b0583c15bcbe2a91a2d3ff95cbdaf..c54dae1ec570626b04b3292484c98d473904bd16 100644 (file)
@@ -49,7 +49,7 @@ namespace bife {
              * @param attrs   Widget attributes.
              * @param content Content of the widget.
              */
-            Fallback(const string&, const Hash&, Widget&);
+            Fallback(const string&, const Hash&, Widget*);
 
             /**
              * Constructor.
@@ -57,7 +57,7 @@ namespace bife {
              * @param name    Name of the widget.
              * @param content Content of the widget.
              */
-            Fallback(const string&, Widget&);
+            Fallback(const string&, Widget*);
 
             /**
              * Constructor.
@@ -66,7 +66,7 @@ namespace bife {
              * @param content Content of the widget.
              * @param attrs   Widget attributes.
              */
-            Fallback(const string&, Widget&, const Hash&);
+            Fallback(const string&, Widget*, const Hash&);
 
             /**
              * Destructor.
index d3bb41bfc51b59df631598285c06e5e586af9aac..b37453a75ab91bd1332463a3e210bc85d4ecbdea 100644 (file)
@@ -25,7 +25,7 @@ Translate::Translate(const string& name, const Hash& attrs): Fallback(name, attr
 #endif
 }
 
-Translate::Translate(const string& name, const Hash& attrs, Widget& content):
+Translate::Translate(const string& name, const Hash& attrs, Widget* content):
         Fallback(name, attrs, content) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
@@ -35,7 +35,7 @@ Translate::Translate(const string& name, const Hash& attrs, Widget& content):
 #endif
 }
 
-Translate::Translate(const string& name, Widget& content, const Hash& attrs):
+Translate::Translate(const string& name, Widget* content, const Hash& attrs):
         Fallback(name, content, attrs) {
     // FIXME - this->content.push_back(content);
 #ifdef DEBUG
index 8a11499041afcc29c2ec42e19b961b07e69ea4c4..7f4be7079926933e591a318a50c575ca360313c2 100644 (file)
@@ -44,7 +44,7 @@ namespace bife {
              * @param attrs   Widget attributes.
              * @param content Content of the widget.
              */
-            Translate(const string&, const Hash&, Widget&);
+            Translate(const string&, const Hash&, Widget*);
 
             /**
              * Constructor.
@@ -52,7 +52,7 @@ namespace bife {
              * @param name    Name of the widget.
              * @param content Content of the widget.
              */
-            Translate(const string&, Widget&);
+            Translate(const string&, Widget*);
 
             /**
              * Constructor.
@@ -61,7 +61,7 @@ namespace bife {
              * @param content Content of the widget.
              * @param attrs   Widget attributes.
              */
-            Translate(const string&, Widget&, const Hash&);
+            Translate(const string&, Widget*, const Hash&);
 
             /**
              * Destructor.