From 54d4919e3f1b00b644fa3c107acdf20159a1b154 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sat, 12 Aug 2006 05:34:54 +0000 Subject: Update active controls. --- .../UI/ActiveControls/TActiveRadioButtonList.php | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) (limited to 'framework/Web/UI/ActiveControls/TActiveRadioButtonList.php') diff --git a/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php b/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php index 665a8542..daaaf9aa 100644 --- a/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php +++ b/framework/Web/UI/ActiveControls/TActiveRadioButtonList.php @@ -13,6 +13,15 @@ /** * TActiveRadioButtonList class. * + * The active control counter part to radio button list control. + * The {@link setAutoPostBack AutoPostBack} property is set to true by default. + * Thus, when a radio button is clicked a {@link onCallback OnCallback} event is + * raised after {@link OnSelectedIndexChanged} event. + * + * With {@link TBaseActiveControl::setEnableUpdate() ActiveControl.EnabledUpdate} + * set to true (default is true), changes to the selection will be updated + * on the client side. + * * @author Wei Zhuo * @version : $ Mon Jun 26 00:48:08 EST 2006 $ * @package System.Web.UI.ActiveControls @@ -20,6 +29,67 @@ */ class TActiveRadioButtonList extends TRadioButtonList implements IActiveControl, ICallbackEventHandler { + /** + * Creates a new callback control, sets the adapter to + * TActiveListControlAdapter. If you override this class, be sure to set the + * adapter appropriately by, for example, by calling this constructor. + */ + public function __construct() + { + parent::__construct(); + $this->setAdapter(new TActiveListControlAdapter($this)); + $this->setAutoPostBack(true); + } + + /** + * @return TBaseActiveCallbackControl standard callback control options. + */ + public function getActiveControl() + { + return $this->getAdapter()->getBaseActiveControl(); + } + + /** + * No client class for this control. + * This method overrides the parent implementation. + * @return null no javascript class name. + */ + protected function getClientClassName() + { + return null; + } + + /** + * Creates a control used for repetition (used as a template). + * @return TControl the control to be repeated + */ + protected function createRepeatedControl() + { + return new TActiveRadioButton; + } + + /** + * Raises the callback event. This method is required by {@link + * ICallbackEventHandler} interface. + * This method is mainly used by framework and control developers. + * @param TCallbackEventParameter the event parameter + */ + public function raiseCallbackEvent($param) + { + $this->onCallback($param); + } + + /** + * This method is invoked when a callback is requested. The method raises + * 'OnCallback' event to fire up the event handlers. If you override this + * method, be sure to call the parent implementation so that the event + * handler can be invoked. + * @param TCallbackEventParameter event parameter to be passed to the event handlers + */ + public function onCallback($param) + { + $this->raiseEvent('OnCallback', $this, $param); + } } ?> \ No newline at end of file -- cgit v1.2.3