From 55c4ac1bfe565f1ca7f537fdd8b7a201be28e581 Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 10 Nov 2005 12:47:19 +0000 Subject: Initial import of prado framework --- framework/Web/UI/WebControls/THiddenField.php | 123 ++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 framework/Web/UI/WebControls/THiddenField.php (limited to 'framework/Web/UI/WebControls/THiddenField.php') diff --git a/framework/Web/UI/WebControls/THiddenField.php b/framework/Web/UI/WebControls/THiddenField.php new file mode 100644 index 00000000..c46f1cda --- /dev/null +++ b/framework/Web/UI/WebControls/THiddenField.php @@ -0,0 +1,123 @@ + + * @link http://www.xisc.com/ + * @copyright Copyright © 2004-2005, Qiang Xue + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @version $Revision: $ $Date: $ + * @package System.Web.UI.WebControls + */ + +/** + * THiddenField class + * + * @author Qiang Xue + * @version $Revision: $ $Date: $ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class THiddenField extends TControl implements IPostBackDataHandler +{ + /** + * @return string tag name of the hyperlink + */ + protected function getTagName() + { + return 'input'; + } + + public function focus() + { + throw new TInvalidOperationException('xxx'); + } + + protected function addAttributesToRender($writer) + { + $page=$this->getPage(); + $page->ensureRenderInForm($this); + $writer->addAttribute('type','hidden'); + if(($uid=$this->getUniqueID())!=='') + $writer->addAttribute('name',$uid); + if(($id=$this->getID())!=='') + $writer->addAttribute('id',$id); + if(($value=$this->getValue())!=='') + $writer->addAttribute('value',$value); + } + + /** + * @return string the value of the THiddenField + */ + public function getValue() + { + return $this->getViewState('Value',''); + } + + /** + * Sets the value of the THiddenField + * @param string the value to be set + */ + public function setValue($value) + { + $this->setViewState('Value',$value,''); + } + + public function getEnableTheming() + { + return false; + } + + public function setEnableTheming($value) + { + throw new TInvalidOperationException('no_theming_support'); + } + + public function setSkinID($value) + { + throw new TInvalidOperationException('no_theming_support'); + } + + /** + * Loads hidden field data. + * This method is primarly used by framework developers. + * @param string the key that can be used to retrieve data from the input data collection + * @param array the input data collection + * @return boolean whether the data of the component has been changed + */ + public function loadPostData($key,$values) + { + $value=$values[$key]; + if($value===$this->getValue()) + return false; + else + { + $this->setValue($value); + return true; + } + } + + /** + * Raises postdata changed event. + * This method calls {@link onValueChanged} method. + * This method is primarly used by framework developers. + */ + public function raisePostDataChangedEvent() + { + $this->onValueChanged(new TEventParameter); + } + + /** + * This method is invoked when the value of the Value property changes between posts to the server. + * The method raises 'ValueChanged' event to fire up the event delegates. + * If you override this method, be sure to call the parent implementation + * so that the event delegates can be invoked. + * @param TEventParameter event parameter to be passed to the event handlers + */ + public function onValueChanged($param) + { + $this->raiseEvent('ValueChanged',$this,$param); + } +} + +?> \ No newline at end of file -- cgit v1.2.3