blob: 12b4f0e42c990927ba9a702ac49fda881590cce4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<?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 Prado\Web\UI
*/
namespace Prado\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 Prado\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
}
}
|