From be6b0bb9061550aa6faadf47bf481b5f411c6188 Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 18 May 2006 12:06:27 +0000 Subject: Fixed #177. --- framework/Web/UI/WebControls/TListControl.php | 179 +------------------------ framework/Web/UI/WebControls/TListItem.php | 185 ++++++++++++++++++++++++++ 2 files changed, 189 insertions(+), 175 deletions(-) create mode 100644 framework/Web/UI/WebControls/TListItem.php (limited to 'framework') diff --git a/framework/Web/UI/WebControls/TListControl.php b/framework/Web/UI/WebControls/TListControl.php index f97eb307..57d8563a 100644 --- a/framework/Web/UI/WebControls/TListControl.php +++ b/framework/Web/UI/WebControls/TListControl.php @@ -1,6 +1,6 @@ * @link http://www.pradosoft.com/ @@ -14,6 +14,7 @@ * Includes the supporting classes */ Prado::using('System.Web.UI.WebControls.TDataBoundControl'); +Prado::using('System.Web.UI.WebControls.TListItem'); Prado::using('System.Collections.TAttributeCollection'); Prado::using('System.Util.TDataFieldAccessor'); @@ -124,8 +125,8 @@ abstract class TListControl extends TDataBoundControl */ protected function renderClientControlScript($writer) { - $writer->addAttribute('id',$this->getClientID()); - $cs = $this->getPage()->getClientScript(); + $writer->addAttribute('id',$this->getClientID()); + $cs = $this->getPage()->getClientScript(); $cs->registerPostBackControl(get_class($this),$this->getPostBackOptions()); } @@ -771,176 +772,4 @@ class TListItemCollection extends TList } } -/** - * TListItem class. - * - * TListItem represents an item in a list control. Each item has a {@link setText Text} - * property and a {@link setValue Value} property. If either one of them is not set, - * it will take the value of the other property. - * An item can be {@link setSelected Selected} or {@link setEnabled Enabled}, - * and it can have additional {@link getAttributes Attributes} which may be rendered - * if the list control supports so. - * - * @author Qiang Xue - * @version $Revision: $ $Date: $ - * @package System.Web.UI.WebControls - * @since 3.0 - */ -class TListItem extends TComponent -{ - /** - * @var TMap list of custom attributes - */ - private $_attributes=null; - /** - * @var string text of the item - */ - private $_text; - /** - * @var string value of the item - */ - private $_value; - /** - * @var boolean whether the item is enabled - */ - private $_enabled; - /** - * @var boolean whether the item is selected - */ - private $_selected; - - /** - * Constructor. - * @param string text of the item - * @param string value of the item - * @param boolean whether the item is enabled - * @param boolean whether the item is selected - */ - public function __construct($text='',$value='',$enabled=true,$selected=false) - { - $this->setText($text); - $this->setValue($value); - $this->setEnabled($enabled); - $this->setSelected($selected); - } - - /** - * @return boolean whether the item is enabled - */ - public function getEnabled() - { - return $this->_enabled; - } - - /** - * @param boolean whether the item is enabled - */ - public function setEnabled($value) - { - $this->_enabled=TPropertyValue::ensureBoolean($value); - } - - /** - * @return boolean whether the item is selected - */ - public function getSelected() - { - return $this->_selected; - } - - /** - * @param boolean whether the item is selected - */ - public function setSelected($value) - { - $this->_selected=TPropertyValue::ensureBoolean($value); - } - - /** - * @return string text of the item - */ - public function getText() - { - return $this->_text===''?$this->_value:$this->_text; - } - - /** - * @param string text of the item - */ - public function setText($value) - { - $this->_text=TPropertyValue::ensureString($value); - } - - /** - * @return string value of the item - */ - public function getValue() - { - return $this->_value===''?$this->_text:$this->_value; - } - - /** - * @param string value of the item - */ - public function setValue($value) - { - $this->_value=TPropertyValue::ensureString($value); - } - - /** - * @return TAttributeCollection custom attributes - */ - public function getAttributes() - { - if(!$this->_attributes) - $this->_attributes=new TAttributeCollection; - return $this->_attributes; - } - - /** - * @return boolean whether the item has any custom attribute - */ - public function getHasAttributes() - { - return $this->_attributes && $this->_attributes->getCount()>0; - } - - /** - * @param string name of the attribute - * @return boolean whether the named attribute exists - */ - public function hasAttribute($name) - { - return $this->_attributes?$this->_attributes->contains($name):false; - } - - /** - * @return string the named attribute value, null if attribute does not exist - */ - public function getAttribute($name) - { - return $this->_attributes?$this->_attributes->itemAt($name):null; - } - - /** - * @param string attribute name - * @param string value of the attribute - */ - public function setAttribute($name,$value) - { - $this->getAttributes()->add($name,$value); - } - - /** - * Removes the named attribute. - * @param string the name of the attribute to be removed. - * @return string attribute value removed, empty string if attribute does not exist. - */ - public function removeAttribute($name) - { - return $this->_attributes?$this->_attributes->remove($name):null; - } -} - ?> \ No newline at end of file diff --git a/framework/Web/UI/WebControls/TListItem.php b/framework/Web/UI/WebControls/TListItem.php new file mode 100644 index 00000000..fd5cebd3 --- /dev/null +++ b/framework/Web/UI/WebControls/TListItem.php @@ -0,0 +1,185 @@ + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Revision: $ $Date: $ + * @package System.Web.UI.WebControls + */ + +/** + * TListItem class. + * + * TListItem represents an item in a list control. Each item has a {@link setText Text} + * property and a {@link setValue Value} property. If either one of them is not set, + * it will take the value of the other property. + * An item can be {@link setSelected Selected} or {@link setEnabled Enabled}, + * and it can have additional {@link getAttributes Attributes} which may be rendered + * if the list control supports so. + * + * @author Qiang Xue + * @version $Revision: $ $Date: $ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TListItem extends TComponent +{ + /** + * @var TMap list of custom attributes + */ + private $_attributes=null; + /** + * @var string text of the item + */ + private $_text; + /** + * @var string value of the item + */ + private $_value; + /** + * @var boolean whether the item is enabled + */ + private $_enabled; + /** + * @var boolean whether the item is selected + */ + private $_selected; + + /** + * Constructor. + * @param string text of the item + * @param string value of the item + * @param boolean whether the item is enabled + * @param boolean whether the item is selected + */ + public function __construct($text='',$value='',$enabled=true,$selected=false) + { + $this->setText($text); + $this->setValue($value); + $this->setEnabled($enabled); + $this->setSelected($selected); + } + + /** + * @return boolean whether the item is enabled + */ + public function getEnabled() + { + return $this->_enabled; + } + + /** + * @param boolean whether the item is enabled + */ + public function setEnabled($value) + { + $this->_enabled=TPropertyValue::ensureBoolean($value); + } + + /** + * @return boolean whether the item is selected + */ + public function getSelected() + { + return $this->_selected; + } + + /** + * @param boolean whether the item is selected + */ + public function setSelected($value) + { + $this->_selected=TPropertyValue::ensureBoolean($value); + } + + /** + * @return string text of the item + */ + public function getText() + { + return $this->_text===''?$this->_value:$this->_text; + } + + /** + * @param string text of the item + */ + public function setText($value) + { + $this->_text=TPropertyValue::ensureString($value); + } + + /** + * @return string value of the item + */ + public function getValue() + { + return $this->_value===''?$this->_text:$this->_value; + } + + /** + * @param string value of the item + */ + public function setValue($value) + { + $this->_value=TPropertyValue::ensureString($value); + } + + /** + * @return TAttributeCollection custom attributes + */ + public function getAttributes() + { + if(!$this->_attributes) + $this->_attributes=new TAttributeCollection; + return $this->_attributes; + } + + /** + * @return boolean whether the item has any custom attribute + */ + public function getHasAttributes() + { + return $this->_attributes && $this->_attributes->getCount()>0; + } + + /** + * @param string name of the attribute + * @return boolean whether the named attribute exists + */ + public function hasAttribute($name) + { + return $this->_attributes?$this->_attributes->contains($name):false; + } + + /** + * @return string the named attribute value, null if attribute does not exist + */ + public function getAttribute($name) + { + return $this->_attributes?$this->_attributes->itemAt($name):null; + } + + /** + * @param string attribute name + * @param string value of the attribute + */ + public function setAttribute($name,$value) + { + $this->getAttributes()->add($name,$value); + } + + /** + * Removes the named attribute. + * @param string the name of the attribute to be removed. + * @return string attribute value removed, empty string if attribute does not exist. + */ + public function removeAttribute($name) + { + return $this->_attributes?$this->_attributes->remove($name):null; + } +} + +?> \ No newline at end of file -- cgit v1.2.3