diff options
Diffstat (limited to 'framework/Web/UI/TEmptyControlCollection.php')
-rw-r--r-- | framework/Web/UI/TEmptyControlCollection.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/framework/Web/UI/TEmptyControlCollection.php b/framework/Web/UI/TEmptyControlCollection.php new file mode 100644 index 00000000..22a2fff6 --- /dev/null +++ b/framework/Web/UI/TEmptyControlCollection.php @@ -0,0 +1,44 @@ +<?php +/** + * TControl, TControlCollection, TEventParameter and INamingContainer class file + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005-2014 PradoSoft + * @license http://www.pradosoft.com/license/ + * @package System.Web.UI + */ + +/** + * TEmptyControlCollection class + * + * TEmptyControlCollection implements an empty control list that prohibits adding + * controls to it. This is useful for controls that do not allow child controls. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Web.UI + * @since 3.0 + */ +class TEmptyControlCollection extends TControlCollection +{ + /** + * Constructor. + * @param TControl the control that owns this collection. + */ + public function __construct(TControl $owner) + { + parent::__construct($owner,true); + } + + /** + * Inserts an item at the specified position. + * This overrides the parent implementation by ignoring new addition. + * @param integer the speicified position. + * @param mixed new item + */ + public function insertAt($index,$item) + { + if(!is_string($item)) // string is possible if property tag is used. we simply ignore it in this case + parent::insertAt($index,$item); // this will generate an exception in parent implementation + } +}
\ No newline at end of file |