60 drain::TreeHTML &
initHtml(drain::TreeHTML & html,
const std::string & key =
"");
65 drain::TreeHTML & getFirstElem(drain::TreeHTML & elem, drain::Html::tag_t tagType){
66 if (elem.hasChildren()){
67 return elem.getChildren().begin()->second;
71 return elem.addChild()(tagType);
87 drain::TreeHTML &
appendElem(drain::TreeHTML & elem, drain::Html::tag_t tagType,
const T & arg){
88 drain::TreeHTML & child = elem.addChild()(tagType);
94 template <
class T,
class ...TT>
96 drain::TreeHTML &
appendElem(drain::TreeHTML & elem, drain::Html::tag_t tagType,
const T & arg,
const TT & ...args) {
102 drain::TreeHTML & createTable(drain::TreeHTML & body,
const std::list<std::string> & columnTitles){
104 drain::TreeHTML & table = body.addChild()(drain::NodeHTML::TABLE);
106 drain::TreeHTML & tr = table[
"header"](drain::NodeHTML::TR);
108 for (
const auto & title: columnTitles){
109 drain::TreeHTML & th = tr[title](drain::NodeHTML::TH);
123 drain::TreeHTML &
fillTableRow(drain::TreeHTML & table, drain::TreeHTML & tr,
const T & value){
125 for (
const auto & entry: table.getChildren()){
127 for (
const auto & e: entry.second.getChildren()){
128 tr[e.first]->setType(drain::NodeHTML::TD);
141 drain::TreeHTML & addTableRow(drain::TreeHTML & table,
const std::string value =
""){
142 drain::TreeHTML & tr = table.addChild()(Html::TR);
152 drain::TreeHTML &
appendElem(drain::TreeHTML & elem, drain::Html::tag_t tagType){
153 if (elem.hasChildren()){
154 return elem.getChildren().rbegin()->second;
static drain::TreeHTML & initHtml(drain::TreeHTML &html, const std::string &key="")
Initialize a HTML object with "head" (including "title", "style") and "body" elements.
Definition TreeUtilsHTML.cpp:43
static drain::TreeHTML & fillTableRow(drain::TreeHTML &table, drain::TreeHTML &tr, const T &value)
Creates a new table row (TD) using first row as a template.
Definition TreeUtilsHTML.h:123
static drain::TreeHTML & appendElem(drain::TreeHTML &elem, drain::Html::tag_t tagType, const T &arg)
Add element of given type. The path key is generated automatically, unless given.
Definition TreeUtilsHTML.h:87