From be9205e46bad671c50048e3f53c72768c8f239bd Mon Sep 17 00:00:00 2001 From: javalizard <> Date: Fri, 16 Apr 2010 23:19:13 +0000 Subject: Makes it possible for subclasses to define the default tag by overriding the function getDefaultTag --- framework/Web/UI/WebControls/THtmlElement.php | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'framework/Web/UI') diff --git a/framework/Web/UI/WebControls/THtmlElement.php b/framework/Web/UI/WebControls/THtmlElement.php index bb33623e..9ae894b1 100644 --- a/framework/Web/UI/WebControls/THtmlElement.php +++ b/framework/Web/UI/WebControls/THtmlElement.php @@ -4,7 +4,7 @@ * * @author Qiang Xue * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2008 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Web.UI.WebControls @@ -19,20 +19,30 @@ Prado::using('System.Web.UI.WebControls.TWebControl'); * via {@link setTagName TagName} property. Because THtmlElement extends from * {@link TWebControl}, it enjoys all its functionalities. * + * To change the default tag your subclass should override {@link getDefaultTag} + * * @author Qiang Xue + * @author Brad Anderson * @version $Id$ * @package System.Web.UI.WebControls * @since 3.1.2 */ class THtmlElement extends TWebControl { - private $_tagName='span'; + /** + * @var the tag of this element + */ + private $_tagName=null; /** * @return string the tag name of this control. Defaults to 'span'. */ public function getTagName() { + if($this->_tagName !== null) return $this->_tagName; + + $this->_tagName = $this->getDefaultTag(); + return $this->_tagName; } @@ -43,4 +53,12 @@ class THtmlElement extends TWebControl { $this->_tagName=$value; } -} + + /** + * This is the default tag when no other is specified + * @return string the default tag + */ + protected function getDefaultTag() { + return 'span'; + } +} -- cgit v1.2.3