From 05b69a565ebf001f42fdb6558f204bf3f1a9b61a Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 4 May 2006 19:57:16 +0000 Subject: Added TCompositeControl. --- framework/Web/UI/TCompositeControl.php | 39 ++++++++++++++++++++++++++++++++++ framework/Web/UI/TPage.php | 1 + framework/Web/UI/TTemplateControl.php | 7 +++++- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 framework/Web/UI/TCompositeControl.php (limited to 'framework/Web/UI') diff --git a/framework/Web/UI/TCompositeControl.php b/framework/Web/UI/TCompositeControl.php new file mode 100644 index 00000000..4e33bb83 --- /dev/null +++ b/framework/Web/UI/TCompositeControl.php @@ -0,0 +1,39 @@ + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Revision: $ $Date: $ + * @package System.Web.UI + */ + +/** + * TCompositeControl class. + * TCompositeControl is the base class for controls that are composed + * by other controls. + * + * @author Qiang Xue + * @version $Revision: $ $Date: $ + * @package System.Web.UI + * @since 3.0 + */ +class TCompositeControl extends TControl implements INamingContainer +{ + /** + * Performs the OnInit step for the control and all its child controls. + * This method overrides the parent implementation + * by ensuring child controls are created first. + * Only framework developers should use this method. + * @param TControl the naming container control + */ + protected function initRecursive($namingContainer=null) + { + $this->ensureChildControls(); + parent::initRecursive($namingContainer); + } +} + +?> \ No newline at end of file diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index b68c4996..3f98b340 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -13,6 +13,7 @@ Prado::using('System.Web.UI.WebControls.*'); Prado::using('System.Web.UI.TControl'); Prado::using('System.Web.UI.WebControls.TWebControl'); +Prado::using('System.Web.UI.TCompositeControl'); Prado::using('System.Web.UI.TTemplateControl'); Prado::using('System.Web.UI.TForm'); Prado::using('System.Web.UI.TClientScriptManager'); diff --git a/framework/Web/UI/TTemplateControl.php b/framework/Web/UI/TTemplateControl.php index f18678f1..0595a9e5 100644 --- a/framework/Web/UI/TTemplateControl.php +++ b/framework/Web/UI/TTemplateControl.php @@ -10,6 +10,11 @@ * @package System.Web.UI */ +/** + * Includes TCompositeControl class + */ +Prado::using('System.Web.UI.TCompositeControl'); + /** * TTemplateControl class. * TTemplateControl is the base class for all controls that use templates. @@ -22,7 +27,7 @@ * @package System.Web.UI * @since 3.0 */ -class TTemplateControl extends TControl implements INamingContainer +class TTemplateControl extends TCompositeControl { /** * template file extension. -- cgit v1.2.3