diff options
author | randomdan <randomdan@localhost> | 2011-08-31 21:48:04 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2011-08-31 21:48:04 +0000 |
commit | 05b8bed896e5fe8c1841869e5d6e8e837e72c10a (patch) | |
tree | 77abf662b898321a61058fb0a0da603e336bcad9 /project2/common/rowView.h | |
parent | Adds RDBMS table caching solution (diff) | |
download | project2-05b8bed896e5fe8c1841869e5d6e8e837e72c10a.tar.bz2 project2-05b8bed896e5fe8c1841869e5d6e8e837e72c10a.tar.xz project2-05b8bed896e5fe8c1841869e5d6e8e837e72c10a.zip |
The big reshuffle
Diffstat (limited to 'project2/common/rowView.h')
-rw-r--r-- | project2/common/rowView.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/project2/common/rowView.h b/project2/common/rowView.h new file mode 100644 index 0000000..c065414 --- /dev/null +++ b/project2/common/rowView.h @@ -0,0 +1,33 @@ +#ifndef ROWVIEW_H +#define ROWVIEW_H + +#include <libxml++/nodes/element.h> +#include <boost/intrusive_ptr.hpp> +#include "rowProcessor.h" +#include "view.h" + +/// Project2 component to create output based on a records in a row set +class RowView : public View, public RowProcessor { + public: + RowView(const xmlpp::Element *); + virtual ~RowView(); + + void loadComplete(const CommonObjects *); + void execute(const Presenter *) const; + void rowReady(const RowState *) const; + + const Glib::ustring rootName; + const Glib::ustring recordName; + + protected: + typedef std::map<Glib::ustring, Variable> Columns; + Columns viewColumns; + + void executeChildren() const; + typedef ANONSTORAGEOF(View) SubViews; + SubViews subViews; + mutable const Presenter * presenter; +}; + +#endif + |