summaryrefslogtreecommitdiff
path: root/framework/Web/UI
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/UI')
-rw-r--r--framework/Web/UI/TControl.php77
-rw-r--r--framework/Web/UI/WebControls/TButton.php8
-rw-r--r--framework/Web/UI/WebControls/TImageButton.php8
-rw-r--r--framework/Web/UI/WebControls/TLinkButton.php9
-rw-r--r--framework/Web/UI/WebControls/TWizard.php4
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;