diff options
author | xue <> | 2005-11-10 12:47:19 +0000 |
---|---|---|
committer | xue <> | 2005-11-10 12:47:19 +0000 |
commit | 55c4ac1bfe565f1ca7f537fdd8b7a201be28e581 (patch) | |
tree | a0599d5e36fdbb3f1e169ae56bab7d529597e3eb /framework/Web/UI/WebControls/TContentPlaceHolder.php |
Initial import of prado framework
Diffstat (limited to 'framework/Web/UI/WebControls/TContentPlaceHolder.php')
-rw-r--r-- | framework/Web/UI/WebControls/TContentPlaceHolder.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/framework/Web/UI/WebControls/TContentPlaceHolder.php b/framework/Web/UI/WebControls/TContentPlaceHolder.php new file mode 100644 index 00000000..fc832fae --- /dev/null +++ b/framework/Web/UI/WebControls/TContentPlaceHolder.php @@ -0,0 +1,47 @@ +<?php
+/**
+ * TContentPlaceHolder class file.
+ *
+ * @author Qiang Xue <qiang.xue@gmail.com>
+ * @link http://www.xisc.com/
+ * @copyright Copyright © 2004-2005, Qiang Xue
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ * @version $Revision: $ $Date: $
+ * @package System.Web.UI.WebControls
+ */
+
+/**
+ * TContentPlaceHolder class
+ *
+ * TContentPlaceHolder reserves a place on a template where a {@link TContent}
+ * control can inject itself and its children in. 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>
+ * @version $Revision: $ $Date: $
+ * @package System.Web.UI.WebControls
+ * @since 3.0
+ */
+class TContentPlaceHolder extends TControl
+{
+ /**
+ * This method is invoked after the control is instantiated on a template.
+ * This overrides the parent implementation by registering the content placeholder
+ * control to the template owner control. The placeholder control will NOT
+ * be added to the potential parent control!
+ * @param TControl potential parent of this control
+ */
+ public function createdOnTemplate($parent)
+ {
+ $loc=$parent->getHasControls()?$parent->getControls()->getCount():0;
+ $this->getTemplateControl()->registerContentPlaceHolder($this->getID(),$parent,$loc);
+ }
+}
+
+?>
\ No newline at end of file |