<?php namespace FML\Controls; use FML\Types\Container; use FML\Types\Renderable; /** * Class representing CMlFrame * * @author steeffeen */ class Frame extends Control implements Container { /** * Protected Properties */ protected $children = array(); /** * Construct a new Frame Control * * @param string $id * Control Id */ public function __construct($id = null) { parent::__construct($id); $this->tagName = 'frame'; } /** * * @see \FML\Types\Container::add() * @return \FML\Controls\Frame */ public function add(Renderable $child) { array_push($this->children, $child); return $this; } /** * * @see \FML\Types\Container::removeChildren() * @return \FML\Controls\Frame */ public function removeChildren() { $this->children = array(); return $this; } /** * * @see \FML\Renderable::render() */ public function render(\DOMDocument $domDocument) { $xml = parent::render($domDocument); foreach ($this->children as $child) { $childXml = $child->render($domDocument); $xml->appendChild($childXml); } return $xml; } }