diff options
Diffstat (limited to 'lib/prado/framework/Web/UI/WebControls/TContent.php')
-rw-r--r-- | lib/prado/framework/Web/UI/WebControls/TContent.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/prado/framework/Web/UI/WebControls/TContent.php b/lib/prado/framework/Web/UI/WebControls/TContent.php new file mode 100644 index 0000000..1a0fd37 --- /dev/null +++ b/lib/prado/framework/Web/UI/WebControls/TContent.php @@ -0,0 +1,45 @@ +<?php +/** + * TContent class file. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link https://github.com/pradosoft/prado + * @copyright Copyright © 2005-2015 The PRADO Group + * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT + * @package System.Web.UI.WebControls + */ + +/** + * TContent class + * + * TContent specifies a block of content on a control's template + * that will be injected at somewhere of the master control's template. + * TContentPlaceHolder and {@link TContent} together implement a decoration + * pattern for prado templated controls. A template control + * (called content control) can specify a master control + * whose template contains some TContentPlaceHolder controls. + * {@link TContent} controls on the content control's template will replace the corresponding + * {@link TContentPlaceHolder} controls on the master control's template. + * This is called content injection. It is done by matching the IDs of + * {@link TContent} and {@link TContentPlaceHolder} controls. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TContent extends TControl implements INamingContainer +{ + /** + * This method is invoked after the control is instantiated on a template. + * This overrides the parent implementation by registering the content control + * to the template owner control. + * @param TControl potential parent of this control + */ + public function createdOnTemplate($parent) + { + if(($id=$this->getID())==='') + throw new TConfigurationException('content_id_required'); + $this->getTemplateControl()->registerContent($id,$this); + } +} + |