From b3ceed048bb533a00bbea542f7c12b49c8c83d9b Mon Sep 17 00:00:00 2001
From: wei <>
Date: Sat, 17 Jun 2006 01:55:05 +0000
Subject: Update changes to active controls, add FT tests for active controls,
add comments.
---
framework/Web/UI/ActiveControls/TActivePanel.php | 50 ++++++++++++++++++++++--
1 file changed, 47 insertions(+), 3 deletions(-)
(limited to 'framework/Web/UI/ActiveControls/TActivePanel.php')
diff --git a/framework/Web/UI/ActiveControls/TActivePanel.php b/framework/Web/UI/ActiveControls/TActivePanel.php
index db1d8a7d..787b65d3 100644
--- a/framework/Web/UI/ActiveControls/TActivePanel.php
+++ b/framework/Web/UI/ActiveControls/TActivePanel.php
@@ -1,9 +1,37 @@
+ * @link http://www.pradosoft.com/
+ * @copyright Copyright © 2006 PradoSoft
+ * @license http://www.pradosoft.com/license/
+ * @version : :
+ * @package System.Web.UI.ActiveControls
*/
-class TActivePanel extends TPanel
+/**
+ * TActivePanel is the TPanel active control counterpart.
+ *
+ * TActivePanel allows the client-side panel contents to be updated during a
+ * callback response using the {@link flush} method.
+ *
+ * Example: Assume $param is an instance of TCallbackEventParameter attached to
+ * the OnCallback event a TCallback with ID "callback1", and
+ * "panel1" is the ID of a TActivePanel.
+ *
+ * function callback1_requested($sender, $param)
+ * {
+ * $this->panel1->flush($param->getOutput());
+ * }
+ *
+ *
+ * @author Wei Zhuo
+ * @version $Revision: $ Sun Jun 18 01:23:54 EST 2006 $
+ * @package System.Web.UI.ActiveControls
+ * @since 3.0
+ */
+class TActivePanel extends TPanel implements IActiveControl
{
/**
* Creates a new callback control, sets the adapter to
@@ -16,10 +44,26 @@ class TActivePanel extends TPanel
$this->setAdapter(new TActiveControlAdapter($this));
}
+ /**
+ * @return TBaseActiveControl standard active control options.
+ */
public function getActiveControl()
{
return $this->getAdapter()->getBaseActiveControl();
}
+
+ /**
+ * Renders and replaces the panel's content on the client-side.
+ * @param THtmlWriter html writer
+ */
+ public function flush($writer)
+ {
+ if($this->getActiveControl()->canUpdateClientSide())
+ {
+ $this->render($writer);
+ $this->getPage()->getCallbackClient()->replaceContent($this,$writer);
+ }
+ }
}
?>
\ No newline at end of file
--
cgit v1.2.3