diff options
author | xue <> | 2006-04-17 22:10:49 +0000 |
---|---|---|
committer | xue <> | 2006-04-17 22:10:49 +0000 |
commit | d813a484809142c5cce2e50bff0f805630cea7d9 (patch) | |
tree | 4c9e145601a3cdcc9bff4c2ff5f2cf8d53dc47e1 /framework/Web/UI | |
parent | 0f2b34ef1ad76d94f43062f396b7a63e76051659 (diff) |
TButton, TImageButton and TLinkButton now implement IButtonControl interface
Diffstat (limited to 'framework/Web/UI')
-rw-r--r-- | framework/Web/UI/TControl.php | 77 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TButton.php | 8 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TImageButton.php | 8 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TLinkButton.php | 9 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TWizard.php | 4 |
5 files changed, 88 insertions, 18 deletions
diff --git a/framework/Web/UI/TControl.php b/framework/Web/UI/TControl.php index 3fe34a4c..d0db2139 100644 --- a/framework/Web/UI/TControl.php +++ b/framework/Web/UI/TControl.php @@ -1949,6 +1949,83 @@ interface ITemplate }
/**
+ * IButtonControl interface
+ *
+ * IButtonControl specifies the common properties and events that must
+ * be implemented by a button control, such as {@link TButton}, {@link TLinkButton},
+ * {@link TImageButton}.
+ *
+ * @author Qiang Xue <qiang.xue@gmail.com>
+ * @version $Revision: $ $Date: $
+ * @package System.Web.UI
+ * @since 3.0
+ */
+interface IButtonControl
+{
+ /**
+ * @return string caption of the button
+ */
+ public function getText();
+
+ /**
+ * @param string caption of the button
+ */
+ public function setText($value);
+
+ /**
+ * @return boolean whether postback event trigger by this button will cause input validation
+ */
+ public function getCausesValidation();
+
+ /**
+ * @param boolean whether postback event trigger by this button will cause input validation
+ */
+ public function setCausesValidation($value);
+
+ /**
+ * @return string the command name associated with the {@link onCommand OnCommand} event.
+ */
+ public function getCommandName();
+
+ /**
+ * @param string the command name associated with the {@link onCommand OnCommand} event.
+ */
+ public function setCommandName($value);
+
+ /**
+ * @return string the parameter associated with the {@link onCommand OnCommand} event
+ */
+ public function getCommandParameter();
+
+ /**
+ * @param string the parameter associated with the {@link onCommand OnCommand} event.
+ */
+ public function setCommandParameter($value);
+
+ /**
+ * @return string the group of validators which the button causes validation upon postback
+ */
+ public function getValidationGroup();
+
+ /**
+ * @param string the group of validators which the button causes validation upon postback
+ */
+ public function setValidationGroup($value);
+
+ /**
+ * Raises <b>OnClick</b> event.
+ * @param TEventParameter event parameter to be passed to the event handlers
+ */
+ public function onClick($param);
+
+ /**
+ * Raises <b>OnCommand</b> event.
+ * @param TCommandEventParameter event parameter to be passed to the event handlers
+ */
+ public function onCommand($param);
+}
+
+/**
* TBroadcastEventParameter class
*
* TBroadcastEventParameter encapsulates the parameter data for
diff --git a/framework/Web/UI/WebControls/TButton.php b/framework/Web/UI/WebControls/TButton.php index 6751687c..72c68a2c 100644 --- a/framework/Web/UI/WebControls/TButton.php +++ b/framework/Web/UI/WebControls/TButton.php @@ -49,7 +49,7 @@ * @package System.Web.UI.WebControls
* @since 3.0
*/
-class TButton extends TWebControl implements IPostBackEventHandler
+class TButton extends TWebControl implements IPostBackEventHandler, IButtonControl
{
/**
* @return string tag name of the button
@@ -206,8 +206,7 @@ class TButton extends TWebControl implements IPostBackEventHandler }
/**
- * Sets the command name associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the command name associated with the {@link onCommand OnCommand} event.
*/
public function setCommandName($value)
{
@@ -223,8 +222,7 @@ class TButton extends TWebControl implements IPostBackEventHandler }
/**
- * Sets the parameter associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the parameter associated with the {@link onCommand OnCommand} event.
*/
public function setCommandParameter($value)
{
diff --git a/framework/Web/UI/WebControls/TImageButton.php b/framework/Web/UI/WebControls/TImageButton.php index 655b1df0..109f53a8 100644 --- a/framework/Web/UI/WebControls/TImageButton.php +++ b/framework/Web/UI/WebControls/TImageButton.php @@ -56,7 +56,7 @@ Prado::using('System.Web.UI.WebControls.TImage'); * @package System.Web.UI.WebControls
* @since 3.0
*/
-class TImageButton extends TImage implements IPostBackDataHandler, IPostBackEventHandler
+class TImageButton extends TImage implements IPostBackDataHandler, IPostBackEventHandler, IButtonControl
{
/**
* @var integer x coordinate that the image is being clicked at
@@ -223,8 +223,7 @@ class TImageButton extends TImage implements IPostBackDataHandler, IPostBackEven }
/**
- * Sets the command name associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the command name associated with the {@link onCommand OnCommand} event.
*/
public function setCommandName($value)
{
@@ -240,8 +239,7 @@ class TImageButton extends TImage implements IPostBackDataHandler, IPostBackEven }
/**
- * Sets the parameter associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the parameter associated with the {@link onCommand OnCommand} event.
*/
public function setCommandParameter($value)
{
diff --git a/framework/Web/UI/WebControls/TLinkButton.php b/framework/Web/UI/WebControls/TLinkButton.php index 95490f8d..bca4a8f6 100644 --- a/framework/Web/UI/WebControls/TLinkButton.php +++ b/framework/Web/UI/WebControls/TLinkButton.php @@ -54,7 +54,7 @@ * @package System.Web.UI.WebControls
* @since 3.0
*/
-class TLinkButton extends TWebControl implements IPostBackEventHandler
+class TLinkButton extends TWebControl implements IPostBackEventHandler, IButtonControl
{
/**
* @return string tag name of the button
@@ -130,7 +130,6 @@ class TLinkButton extends TWebControl implements IPostBackEventHandler }
/**
- * Sets the text caption of the button.
* @param string the text caption to be set
*/
public function setText($value)
@@ -147,8 +146,7 @@ class TLinkButton extends TWebControl implements IPostBackEventHandler }
/**
- * Sets the command name associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the command name associated with the {@link onCommand OnCommand} event.
*/
public function setCommandName($value)
{
@@ -164,8 +162,7 @@ class TLinkButton extends TWebControl implements IPostBackEventHandler }
/**
- * Sets the parameter associated with the {@link onCommand OnCommand} event.
- * @param string the text caption to be set
+ * @param string the parameter associated with the {@link onCommand OnCommand} event.
*/
public function setCommandParameter($value)
{
diff --git a/framework/Web/UI/WebControls/TWizard.php b/framework/Web/UI/WebControls/TWizard.php index 67b84ccd..0db7180e 100644 --- a/framework/Web/UI/WebControls/TWizard.php +++ b/framework/Web/UI/WebControls/TWizard.php @@ -1078,7 +1078,7 @@ class TWizard extends TWebControl implements INamingContainer // if the button clicked causes validation which fails,
// by default we will cancel navigation to the new step
$button=$param->getCommandSource();
- if($button->canGetProperty('CausesValidation') && $button->getCausesValidation() && ($page=$this->getPage())!==null && !$page->getIsValid())
+ if(($button instanceof IButtonControl) && $button->getCausesValidation() && ($page=$this->getPage())!==null && !$page->getIsValid())
$navParam->setCancelNavigation(true);
$this->_activeStepIndexSet=false;
@@ -1293,7 +1293,7 @@ class TWizard extends TWebControl implements INamingContainer $type=$this->getStepType($this->getActiveStep());
$index=$this->getActiveStepIndex();
$navParam=new TWizardNavigationEventParameter($index);
- if($sender->canGetProperty('CausesValidation') && $sender->getCausesValidation() && ($page=$this->getPage())!==null && !$page->getIsValid())
+ if(($sender instanceof IButtonControl) && $sender->getCausesValidation() && ($page=$this->getPage())!==null && !$page->getIsValid())
$navParam->setCancelNavigation(true);
$handled=false;
|