/** * @param TableElement $treeTableModel * * @return FlatGrid */ private function buildGridBasedOn(TableElement $treeTableModel) { //get builders based on prototypes $sizeAwareTreeBuilder = clone $this->sizeAwareTreeBuilderPrototype; $flatGridBuilder = clone $this->flatGridBuilderPrototype; //build size aware tree $treeTableModel->accept($sizeAwareTreeBuilder); $sizeAwareTree = $sizeAwareTreeBuilder->getBuiltSizeAwareTree(); //build and return flat grid $sizeAwareTree->accept($flatGridBuilder); return $flatGridBuilder->getBuiltGrid(); }
/** * @param TableElement $tableElement * @return Element */ private function getSizeAwareTreeOf(TableElement $tableElement) { $builder = clone $this; $tableElement->accept($builder); return $builder->getBuiltSizeAwareTree(false); }