## Class TImageButton

Description

Implements interfaces:

- IPostBackDataHandler
- IPostBackEventHandler
- IButtonControl

TImageButton class

TImageButton creates an image button on the page. It is used to submit data to a page. You can create either a submit button or a command button.

A command button has a command name (specified by the CommandName property) and and a command parameter (specified by CommandParameter property) associated with the button. This allows you to create multiple TLinkButton components on a Web page and programmatically determine which one is clicked with what parameter. You can provide an event handler for OnCommand event to programmatically control the actions performed when the command button is clicked. In the event handler, you can determine the CommandName property value and the CommandParameter property value through the TCommandParameter::getName and TCommandParameter::getParameter properties of the event parameter which is of type TCommandEventParameter.

A submit button does not have a command name associated with the button and clicking on it simply posts the Web page back to the server. By default, a TImageButton control is a submit button. You can provide an event handler for the OnClick event to programmatically control the actions performed when the submit button is clicked. The coordinates of the clicking point can be obtained from the OnClick event parameter, which is of type TImageClickEventParameter.

Clicking on button can trigger form validation, if CausesValidation is true. And the validation may be restricted within a certain group of validator controls by setting ValidationGroup property. If validation is successful, the data will be post back to the same page.

TImageButton displays the Text property as the hint text to the displayed image.

- since: 3.0
- version: $Id: TImageButton.php 2482 2008-07-30 02:07:13Z knut $
- author: Qiang Xue <qiang.xue@gmail.com>

Located in /Web/UI/WebControls/TImageButton.php (line 59)

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TWebControl
                |
                --TImage
                   |
                   --TImageButton

Direct descendents

Class | Description
--- | ---
TActiveImageButton | TActiveImageButton class.

Method Summary
void addAttributesToRender (THtmlWriter $writer)
boolean canCauseValidation ()
boolean getCausesValidation ()
string getClientClassName ()
string getCommandName ()
string getCommandParameter ()
boolean getDataChanged ()
boolean getEnableClientScript ()
boolean getIsDefaultButton ()
array getPostBackOptions ()
string getTagName ()
string getText ()
string getValidationGroup ()
boolean loadPostData (string $key, array $values)
boolean needPostBackScript ()
void onClick (TImageClickEventParameter $param)
void onCommand (TCommandEventParameter $param)
void onPreRender (mixed $param)
void raisePostBackEvent (TEventParameter $param)
void raisePostDataChangedEvent ()
void renderClientControlScript (mixed $writer)
void renderContents (THtmlWriter $writer)
void setCausesValidation (boolean $value)
void setCommandName (string $value)
void setCommandParameter (string $value)
void setEnableClientScript (boolean $value)
void setIsDefaultButton (boolean $value)
void setText (string $value)
void setValidationGroup (string $value)
Methods
addAttributesToRender (line 100)

Adds attribute name-value pairs to renderer.

This overrides the parent implementation with additional button specific attributes.

- access: protected

void addAttributesToRender (THtmlWriter $writer)

- THtmlWriter $writer: the writer used for the rendering purpose

Redefinition of:

TImage::addAttributesToRender()
  Adds attributes related to an HTML image element to renderer.

Redefined in descendants as:

- TActiveImageButton::addAttributesToRender() : Ensure that the ID attribute is rendered and registers the javascript code for initializing the active control.

canCauseValidation (line 140)

- return: whether to perform validation if the button is clicked
- access: protected

boolean canCauseValidation ()
getCausesValidation (line 274)

- return: whether postback event trigger by this button will cause input validation, default is true
- access: public

boolean getCausesValidation ()
getClientClassName (line 132)

Gets the name of the javascript class responsible for performing postback for this control.

This method overrides the parent implementation.

- return: the javascript class name
- access: protected

string getClientClassName ()

Redefined in descendants as:

- TActiveImageButton::getClientClassName()

getCommandName (line 290)

- return: the command name associated with the OnCommand event.
- access: public

string getCommandName ()
getCommandParameter (line 306)

- return: the parameter associated with the OnCommand event
- access: public

string getCommandParameter ()
getDataChanged (line 266)

Returns a value indicating whether postback has caused the control data change.

This method is required by the IPostBackDataHandler interface.

- return: whether postback has caused the control data change. False if the page is not in postback mode.
- access: public

boolean getDataChanged ()
getEnableClientScript (line 82)

- return: whether to render javascript.
- access: public

boolean getEnableClientScript ()
getIsDefaultButton (line 162)

- return: true if this button is registered as a default button for a panel.
- access: public

boolean getIsDefaultButton ()
getPostBackOptions (line 180)

Returns postback specifications for the button.

This method is used by framework and control developers.

- return: parameters about how the button defines its postback behavior.
- access: protected

array getPostBackOptions ()
getTagName (line 74)

- return: tag name of the button
- access: protected

string getTagName ()

Redefinition of:

TImage::getTagName()

getText (line 338)

- return: caption of the button
- access: public

string getText ()
getValidationGroup (line 322)

- return: the group of validators which the button causes validation upon postback
- access: public

string getValidationGroup ()
loadPostData (line 197)

This method checks if the TImageButton is clicked and loads the coordinates of the clicking position.

This method is primarly used by framework developers.

- return: whether the data of the component has been changed
- access: public

boolean loadPostData (string $key, array $values)

- string $key: the key that can be used to retrieve data from the input data collection
- array $values: the input data collection

needPostBackScript (line 170)

- return: whether the button needs javascript to do postback
- access: protected

boolean needPostBackScript ()
onClick (line 226)

This method is invoked when the button is clicked.

The method raises 'OnClick' 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.

- access: public

void onClick (TImageClickEventParameter $param)

- TImageClickEventParameter $param: event parameter to be passed to the event handlers

onCommand (line 238)

This method is invoked when the button is clicked.

The method raises 'OnCommand' event to fire up the event handlers. If you override this method, be sure to call the parent implementation so that the event handlers can be invoked.

- access: public

void onCommand (TCommandEventParameter $param)

- TCommandEventParameter $param: event parameter to be passed to the event handlers

onPreRender (line 358)

Registers the image button to receive postback data during postback.

This is necessary because an image button, when postback, does not have direct mapping between post data and the image button name. This method overrides the parent implementation and is invoked before render.

- access: public

void onPreRender (mixed $param)

- mixed $param: event parameter

Redefinition of:

TControl::onPreRender()
  This method is invoked when the control enters 'OnPreRender' stage.

Redefined in descendants as:

- TActiveImageButton::onPreRender() : Register the x and y hidden input names of the position clicked.

raisePostBackEvent (line 253)

Raises the postback event.

This method is required by IPostBackEventHandler interface. If CausesValidation is true, it will invoke the page's TPage::validate method first. It will raise OnClick and OnCommand events. This method is mainly used by framework and control developers.

- access: public

void raisePostBackEvent (TEventParameter $param)

- TEventParameter $param: the event parameter

raisePostDataChangedEvent (line 214)

A dummy implementation for the IPostBackDataHandler interface.

- access: public

void raisePostDataChangedEvent ()
renderClientControlScript (line 120)

Renders the client-script code.

- access: protected

void renderClientControlScript (mixed $writer)

Redefined in descendants as:

- TActiveImageButton::renderClientControlScript() : Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in addAttributesToRender.

renderContents (line 369)

Renders the body content enclosed between the control tag.

This overrides the parent implementation with nothing to be rendered.

- access: public

void renderContents (THtmlWriter $writer)

- THtmlWriter $writer: the writer used for the rendering purpose

Redefinition of:

TImage::renderContents()
  Renders the body content of the image.

setCausesValidation (line 282)

- access: public

void setCausesValidation (boolean $value)

- boolean $value: whether postback event trigger by this button will cause input validation

setCommandName (line 298)

- access: public

void setCommandName (string $value)

- string $value: the command name associated with the OnCommand event.

setCommandParameter (line 314)

- access: public

void setCommandParameter (string $value)

- string $value: the parameter associated with the OnCommand event.

setEnableClientScript (line 90)

- access: public

void setEnableClientScript (boolean $value)

- boolean $value: whether to render javascript.

setIsDefaultButton (line 154)

- access: public

void setIsDefaultButton (boolean $value)

- boolean $value: set by a panel to register this button as the default button for the panel.

setText (line 346)

- access: public

void setText (string $value)

- string $value: caption of the button

setValidationGroup (line 330)

- access: public

void setValidationGroup (string $value)

- string $value: the group of validators which the button causes validation upon postback

#### Inherited Methods

Inherited From TImage

> TImage::addAttributesToRender()
> TImage::getAlternateText()
> TImage::getData()
> TImage::getDescriptionUrl()
> TImage::getImageAlign()
> TImage::getImageUrl()
> TImage::getTagName()
> TImage::renderContents()
> TImage::setAlternateText()
> TImage::setData()
> TImage::setDescriptionUrl()
> TImage::setImageAlign()
> TImage::setImageUrl()

Inherited From TWebControl

> TWebControl::addAttributesToRender()
> TWebControl::clearStyle()
> TWebControl::copyBaseAttributes()
> TWebControl::createStyle()
> TWebControl::getAccessKey()
> TWebControl::getBackColor()
> TWebControl::getBorderColor()
> TWebControl::getBorderStyle()
> TWebControl::getBorderWidth()
> TWebControl::getCssClass()
> TWebControl::getDisplay()
> TWebControl::getFont()
> TWebControl::getForeColor()
> TWebControl::getHasStyle()
> TWebControl::getHeight()
> TWebControl::getStyle()
> TWebControl::getTabIndex()
> TWebControl::getTagName()
> TWebControl::getToolTip()
> TWebControl::getWidth()
> TWebControl::render()
> TWebControl::renderBeginTag()
> TWebControl::renderContents()
> TWebControl::renderEndTag()
> TWebControl::setAccessKey()
> TWebControl::setBackColor()
> TWebControl::setBorderColor()
> TWebControl::setBorderStyle()
> TWebControl::setBorderWidth()
> TWebControl::setCssClass()
> TWebControl::setDisplay()
> TWebControl::setForeColor()
> TWebControl::setHeight()
> TWebControl::setStyle()
> TWebControl::setTabIndex()
> TWebControl::setToolTip()
> TWebControl::setWidth()

Inherited From TControl

> TControl::__construct()
> TControl::addedControl()
> TControl::addParsedObject()
> TControl::addToPostDataLoader()
> TControl::applyStyleSheetSkin()
> TControl::autoBindProperty()
> TControl::autoDataBindProperties()
> TControl::bindProperty()
> TControl::broadcastEvent()
> TControl::bubbleEvent()
> TControl::clearChildState()
> TControl::clearControlState()
> TControl::clearNamingContainer()
> TControl::clearViewState()
> TControl::convertUniqueIdToClientId()
> TControl::createChildControls()
> TControl::createControlCollection()
> TControl::dataBind()
> TControl::dataBindChildren()
> TControl::dataBindProperties()
> TControl::ensureChildControls()
> TControl::findControl()
> TControl::findControlsByID()
> TControl::findControlsByType()
> TControl::focus()
> TControl::getAdapter()
> TControl::getAllowChildControls()
> TControl::getAttribute()
> TControl::getAttributes()
> TControl::getChildControlsCreated()
> TControl::getClientID()
> TControl::getControls()
> TControl::getControlStage()
> TControl::getControlState()
> TControl::getCustomData()
> TControl::getEnabled()
> TControl::getEnableTheming()
> TControl::getEnableViewState()
> TControl::getHasAdapter()
> TControl::getHasAttributes()
> TControl::getHasChildInitialized()
> TControl::getHasControls()
> TControl::getHasInitialized()
> TControl::getHasLoaded()
> TControl::getHasLoadedPostData()
> TControl::getHasPreRendered()
> TControl::getID()
> TControl::getNamingContainer()
> TControl::getPage()
> TControl::getParent()
> TControl::getRegisteredObject()
> TControl::getSkinID()
> TControl::getSourceTemplateControl()
> TControl::getTemplateControl()
> TControl::getUniqueID()
> TControl::getViewState()
> TControl::getVisible()
> TControl::hasAttribute()
> TControl::initRecursive()
> TControl::isDescendentOf()
> TControl::isObjectRegistered()
> TControl::loadRecursive()
> TControl::loadState()
> TControl::loadStateRecursive()
> TControl::onDataBinding()
> TControl::onInit()
> TControl::onLoad()
> TControl::onPreRender()
> TControl::onUnload()
> TControl::preRenderRecursive()
> TControl::raiseBubbleEvent()
> TControl::registerObject()
> TControl::removeAttribute()
> TControl::removedControl()
> TControl::render()
> TControl::renderChildren()
> TControl::renderControl()
> TControl::saveState()
> TControl::saveStateRecursive()
> TControl::setAdapter()
> TControl::setAttribute()
> TControl::setChildControlsCreated()
> TControl::setControlStage()
> TControl::setControlState()
> TControl::setCustomData()
> TControl::setEnabled()
> TControl::setEnableTheming()
> TControl::setEnableViewState()
> TControl::setID()
> TControl::setPage()
> TControl::setSkinID()
> TControl::setTemplateControl()
> TControl::setViewState()
> TControl::setVisible()
> TControl::trackViewState()
> TControl::traverseChildControls()
> TControl::unbindProperty()
> TControl::unloadRecursive()
> TControl::unregisterObject()
> TControl::__get()

Inherited From TApplicationComponent

> TApplicationComponent::getApplication()
> TApplicationComponent::getRequest()
> TApplicationComponent::getResponse()
> TApplicationComponent::getService()
> TApplicationComponent::getSession()
> TApplicationComponent::getUser()
> TApplicationComponent::publishAsset()
> TApplicationComponent::publishFilePath()

Inherited From TComponent

> TComponent::addParsedObject()
> TComponent::attachEventHandler()
> TComponent::canGetProperty()
> TComponent::canSetProperty()
> TComponent::createdOnTemplate()
> TComponent::detachEventHandler()
> TComponent::evaluateExpression()
> TComponent::evaluateStatements()
> TComponent::getEventHandlers()
> TComponent::getSubProperty()
> TComponent::hasEvent()
> TComponent::hasEventHandler()
> TComponent::hasProperty()
> TComponent::raiseEvent()
> TComponent::setSubProperty()
> TComponent::__get()
> TComponent::__set()

Class Constants

#### Inherited Constants

Inherited from TControl

> TControl::AUTOMATIC_ID_PREFIX
> TControl::CLIENT_ID_SEPARATOR
> TControl::CS_CHILD_INITIALIZED
> TControl::CS_CONSTRUCTED
> TControl::CS_INITIALIZED
> TControl::CS_LOADED
> TControl::CS_PRERENDERED
> TControl::CS_STATE_LOADED
> TControl::ID_FORMAT
> TControl::ID_SEPARATOR
> TControl::IS_CHILD_CREATED
> TControl::IS_CREATING_CHILD
> TControl::IS_DISABLE_THEMING
> TControl::IS_DISABLE_VIEWSTATE
> TControl::IS_ID_SET
> TControl::IS_SKIN_APPLIED
> TControl::IS_STYLESHEET_APPLIED
> TControl::RF_ADAPTER
> TControl::RF_AUTO_BINDINGS
> TControl::RF_CHILD_STATE
> TControl::RF_CONTROLS
> TControl::RF_CONTROLSTATE
> TControl::RF_DATA_BINDINGS
> TControl::RF_EVENTS
> TControl::RF_NAMED_CONTROLS
> TControl::RF_NAMED_CONTROLS_ID
> TControl::RF_NAMED_OBJECTS
> TControl::RF_SKIN_ID

Documentation generated on Sun, 11 Jan 2009 20:22:46 -0500 by phpDocumentor 1.3.0RC4