diff options
author | wei <> | 2006-05-14 00:30:53 +0000 |
---|---|---|
committer | wei <> | 2006-05-14 00:30:53 +0000 |
commit | ae43fa72cdae13bace16a5b8250170e472bb2b87 (patch) | |
tree | 6efea16ae0773f5c739bff2cf643f54ba499e5c0 /framework/Web/UI/ActiveControls/TActiveTextBox.php | |
parent | ddc3ea15bbfd0235fe90f3b2211bf4cc605e25d6 (diff) |
refactor active controls.
Diffstat (limited to 'framework/Web/UI/ActiveControls/TActiveTextBox.php')
-rw-r--r-- | framework/Web/UI/ActiveControls/TActiveTextBox.php | 111 |
1 files changed, 4 insertions, 107 deletions
diff --git a/framework/Web/UI/ActiveControls/TActiveTextBox.php b/framework/Web/UI/ActiveControls/TActiveTextBox.php index ad28b291..fba36a14 100644 --- a/framework/Web/UI/ActiveControls/TActiveTextBox.php +++ b/framework/Web/UI/ActiveControls/TActiveTextBox.php @@ -3,14 +3,9 @@ * Created on 6/05/2006
*/
-class TActiveTextBox extends TTextBox implements ICallbackEventHandler
+class TActiveTextBox extends TTextBox
{
/**
- * @var TCallbackClientSideOptions client-side options.
- */
- private $_clientSide;
-
- /**
* Creates a new callback control, sets the adapter to
* TActiveControlAdapter. If you override this class, be sure to set the
* adapter appropriately by, for example, by calling this constructor.
@@ -21,119 +16,21 @@ class TActiveTextBox extends TTextBox implements ICallbackEventHandler $this->setAdapter(new TActiveControlAdapter($this));
}
- /**
- * @param boolean true to allow fine grain callback updates.
- */
- public function setAllowCallbackUpdate($value)
- {
- $this->setViewState('CallbackUpdate', TPropertyValue::ensureBoolean($value), true);
- }
-
- /**
- * @return true to allow fine grain callback updates.
- */
- public function getAllowCallbackUpdate()
- {
- return $this->getViewState('CallbackUpdate', true);
- }
-
- /**
- * @return true if can update changes on the client-side during callback.
- */
- protected function canUpdateClientSide()
- {
- return $this->getIsInitialized()
- && $this->getPage()->getIsCallback()
- && $this->getAllowCallbackUpdate();
- }
-
- /**
- * Callback client-side options can be set by setting the properties of
- * the ClientSide property. E.g. <com:TCallback ClientSide.OnSuccess="..." />
- * See {@link TCallbackClientSideOptions} for details on the properties of
- * ClientSide.
- * @return TCallbackClientSideOptions client-side callback options.
- */
- public function getClientSide()
+ public function getActiveControl()
{
- if(is_null($this->_clientSide))
- $this->_clientSide = $this->createClientSideOptions();
- return $this->_clientSide;
+ return $this->getAdapter()->getActiveControl();
}
/**
- * @return TCallbackClientSideOptions callback client-side options.
- */
- protected function createClientSideOptions()
- {
- return new TCallbackClientSideOptions;
- }
-
- /**
- * Raises the callback event. This method is required by {@link
- * ICallbackEventHandler} interface. It class raisePostDataChangedEvent
- * first then raises {@link onCallback OnCallback} event. This method is
- * mainly used by framework and control developers.
- * @param TCallbackEventParameter the event parameter
- */
- public function raiseCallbackEvent($param)
- {
- $this->raisePostDataChangedEvent();
- $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);
- }
-
- /**
* Client-side Text property can only be updated after the OnLoad stage.
* @param string text content for the textbox
*/
public function setText($value)
{
parent::setText($value);
- if($this->canUpdateClientSide() && $this->getHasLoadedPostData())
+ if($this->getActiveControl()->canUpdateClientSide() && $this->getHasLoadedPostData())
$this->getPage()->getCallbackClient()->setValue($this, $value);
}
-
- protected function renderClientControlScript($writer)
- {
- $writer->addAttribute('id',$this->getClientID());
- $cs = $this->getPage()->getClientScript();
- $cs->registerCallbackControl(get_class($this),$this->getCallbackOptions());
- }
-
- /**
- * @return array list of callback options.
- */
- protected function getCallbackOptions()
- {
- return array_merge($this->getPostBackOptions(),
- $this->getClientSide()->getOptions()->toArray());
- }
-
- /**
- * Returns the javascript statement to invoke a callback request for this
- * control. Additional options for callback can be set via subproperties of
- * {@link getClientSide ClientSide} property. E.g. ClientSide.OnSuccess="..."
- * @param TControl callback handler control, use current object if null.
- * @return string javascript statement to invoke a callback.
- */
- public function getCallbackReference($control=null)
- {
- $client = $this->getPage()->getClientScript();
- $object = is_null($control) ? $this : $control;
- return $client->getCallbackReference($object, $this->getPostBackOptions());
- }
}
?>
\ No newline at end of file |