From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- framework/Web/UI/WebControls/TBulletedList.php | 982 ++++++++++++------------- 1 file changed, 491 insertions(+), 491 deletions(-) (limited to 'framework/Web/UI/WebControls/TBulletedList.php') diff --git a/framework/Web/UI/WebControls/TBulletedList.php b/framework/Web/UI/WebControls/TBulletedList.php index 1b32059f..51982c3e 100644 --- a/framework/Web/UI/WebControls/TBulletedList.php +++ b/framework/Web/UI/WebControls/TBulletedList.php @@ -1,492 +1,492 @@ - - * @link http://www.pradosoft.com/ + + * @link http://www.pradosoft.com/ * @copyright Copyright © 2005-2012 PradoSoft - * @license http://www.pradosoft.com/license/ - * @version $Id$ - * @package System.Web.UI.WebControls - */ - -/** - * Includes TListControl class - */ -Prado::using('System.Web.UI.WebControls.TListControl'); - -/** - * TBulletedList class - * - * TBulletedList displays items in a bullet format. - * The bullet style is specified by {@link setBulletStyle BulletStyle}. When - * the style is 'CustomImage', the {@link setBackImageUrl BulletImageUrl} - * specifies the image used as bullets. - * - * TBulletedList displays the item texts in three different modes, specified - * via {@link setDisplayMode DisplayMode}. When the mode is Text, the item texts - * are displayed as static texts; When the mode is 'HyperLink', each item - * is displayed as a hyperlink whose URL is given by the item value, and the - * {@link setTarget Target} property can be used to specify the target browser window; - * When the mode is 'LinkButton', each item is displayed as a link button which - * posts back to the page if a user clicks on that and the event {@link onClick OnClick} - * will be raised under such a circumstance. - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0 - */ -class TBulletedList extends TListControl implements IPostBackEventHandler -{ - /** - * @var boolean cached property value of Enabled - */ - private $_isEnabled; - /** - * @var TPostBackOptions postback options - */ - private $_postBackOptions; - - private $_currentRenderItemIndex; - - /** - * Raises the postback event. - * This method is required by {@link IPostBackEventHandler} interface. - * If {@link getCausesValidation CausesValidation} is true, it will - * invoke the page's {@link TPage::validate validate} method first. - * It will raise {@link onClick OnClick} events. - * This method is mainly used by framework and control developers. - * @param TEventParameter the event parameter - */ - public function raisePostBackEvent($param) - { - if($this->getCausesValidation()) - $this->getPage()->validate($this->getValidationGroup()); - $this->onClick(new TBulletedListEventParameter((int)$param)); - } - - /** - * @return string tag name of the bulleted list - */ - protected function getTagName() - { - switch($this->getBulletStyle()) - { - case TBulletStyle::Numbered: - case TBulletStyle::LowerAlpha: - case TBulletStyle::UpperAlpha: - case TBulletStyle::LowerRoman: - case TBulletStyle::UpperRoman: - return 'ol'; - } - return 'ul'; - } - - /** - * Gets the name of the javascript class responsible for performing postback for this control. - * This method overrides the parent implementation. - * @return string the javascript class name - */ - protected function getClientClassName() - { - return 'Prado.WebUI.TBulletedList'; - } - - /** - * Adds attribute name-value pairs to renderer. - * This overrides the parent implementation with additional bulleted list specific attributes. - * @param THtmlWriter the writer used for the rendering purpose - */ - protected function addAttributesToRender($writer) - { - $needStart=false; - switch($this->getBulletStyle()) - { - case TBulletStyle::None: - $writer->addStyleAttribute('list-style-type','none'); - $needStart=true; - break; - case TBulletStyle::Numbered: - $writer->addStyleAttribute('list-style-type','decimal'); - $needStart=true; - break; - case TBulletStyle::LowerAlpha: - $writer->addStyleAttribute('list-style-type','lower-alpha'); - $needStart=true; - break; - case TBulletStyle::UpperAlpha: - $writer->addStyleAttribute('list-style-type','upper-alpha'); - $needStart=true; - break; - case TBulletStyle::LowerRoman: - $writer->addStyleAttribute('list-style-type','lower-roman'); - $needStart=true; - break; - case TBulletStyle::UpperRoman: - $writer->addStyleAttribute('list-style-type','upper-roman'); - $needStart=true; - break; - case TBulletStyle::Disc: - $writer->addStyleAttribute('list-style-type','disc'); - break; - case TBulletStyle::Circle: - $writer->addStyleAttribute('list-style-type','circle'); - break; - case TBulletStyle::Square: - $writer->addStyleAttribute('list-style-type','square'); - break; - case TBulletStyle::CustomImage: - $url=$this->getBulletImageUrl(); - $writer->addStyleAttribute('list-style-image',"url($url)"); - break; - } - if($needStart && ($start=$this->getFirstBulletNumber())!=1) - $writer->addAttribute('start',"$start"); - parent::addAttributesToRender($writer); - } - - /** - * @return string image URL used for bullets when {@link getBulletStyle BulletStyle} is 'CustomImage'. - */ - public function getBulletImageUrl() - { - return $this->getViewState('BulletImageUrl',''); - } - - /** - * @param string image URL used for bullets when {@link getBulletStyle BulletStyle} is 'CustomImage'. - */ - public function setBulletImageUrl($value) - { - $this->setViewState('BulletImageUrl',$value,''); - } - - /** - * @return TBulletStyle style of bullets. Defaults to TBulletStyle::NotSet. - */ - public function getBulletStyle() - { - return $this->getViewState('BulletStyle',TBulletStyle::NotSet); - } - - /** - * @param TBulletStyle style of bullets. - */ - public function setBulletStyle($value) - { - $this->setViewState('BulletStyle',TPropertyValue::ensureEnum($value,'TBulletStyle'),TBulletStyle::NotSet); - } - - /** - * @return TBulletedListDisplayMode display mode of the list. Defaults to TBulletedListDisplayMode::Text. - */ - public function getDisplayMode() - { - return $this->getViewState('DisplayMode',TBulletedListDisplayMode::Text); - } - - /** - * @return TBulletedListDisplayMode display mode of the list. - */ - public function setDisplayMode($value) - { - $this->setViewState('DisplayMode',TPropertyValue::ensureEnum($value,'TBulletedListDisplayMode'),TBulletedListDisplayMode::Text); - } - - /** - * @return integer starting index when {@link getBulletStyle BulletStyle} is one of - * the following: 'Numbered', 'LowerAlpha', 'UpperAlpha', 'LowerRoman', 'UpperRoman'. - * Defaults to 1. - */ - public function getFirstBulletNumber() - { - return $this->getViewState('FirstBulletNumber',1); - } - - /** - * @param integer starting index when {@link getBulletStyle BulletStyle} is one of - * the following: 'Numbered', 'LowerAlpha', 'UpperAlpha', 'LowerRoman', 'UpperRoman'. - */ - public function setFirstBulletNumber($value) - { - $this->setViewState('FirstBulletNumber',TPropertyValue::ensureInteger($value),1); - } - - /** - * Raises 'OnClick' event. - * This method is invoked when the {@link getDisplayMode DisplayMode} is 'LinkButton' - * and end-users click on one of the buttons. - * @param TBulletedListEventParameter event parameter. - */ - public function onClick($param) - { - $this->raiseEvent('OnClick',$this,$param); - } - - /** - * @return string the target window or frame to display the Web page content - * linked to when {@link getDisplayMode DisplayMode} is 'HyperLink' and one of - * the hyperlinks is clicked. - */ - public function getTarget() - { - return $this->getViewState('Target',''); - } - - /** - * @param string the target window or frame to display the Web page content - * linked to when {@link getDisplayMode DisplayMode} is 'HyperLink' and one of - * the hyperlinks is clicked. - */ - public function setTarget($value) - { - $this->setViewState('Target',$value,''); - } - - /** - * Renders the control. - * @param THtmlWriter the writer for the rendering purpose. - */ - public function render($writer) - { - if($this->getHasItems()) - parent::render($writer); - } - - /** - * Renders the body contents. - * @param THtmlWriter the writer for the rendering purpose. - */ - public function renderContents($writer) - { - $this->_isEnabled=$this->getEnabled(true); - $this->_postBackOptions=$this->getPostBackOptions(); - $writer->writeLine(); - foreach($this->getItems() as $index=>$item) - { - if($item->getHasAttributes()) - $writer->addAttributes($item->getAttributes()); - $writer->renderBeginTag('li'); - $this->renderBulletText($writer,$item,$index); - $writer->renderEndTag(); - $writer->writeLine(); - } - } - - /** - * Renders each item - * @param THtmlWriter writer for the rendering purpose - * @param TListItem item to be rendered - * @param integer index of the item being rendered - */ - protected function renderBulletText($writer,$item,$index) - { - switch($this->getDisplayMode()) - { - case TBulletedListDisplayMode::Text: - $this->renderTextItem($writer, $item, $index); - break; - case TBulletedListDisplayMode::HyperLink: - $this->renderHyperLinkItem($writer, $item, $index); - break; - case TBulletedListDisplayMode::LinkButton: - $this->renderLinkButtonItem($writer, $item, $index); - break; - } - } - - protected function renderTextItem($writer, $item, $index) - { - if($item->getEnabled()) - $writer->write(THttpUtility::htmlEncode($item->getText())); - else - { - $writer->addAttribute('disabled','disabled'); - $writer->renderBeginTag('span'); - $writer->write(THttpUtility::htmlEncode($item->getText())); - $writer->renderEndTag(); - } - } - - protected function renderHyperLinkItem($writer, $item, $index) - { - if(!$this->_isEnabled || !$item->getEnabled()) - $writer->addAttribute('disabled','disabled'); - else - { - $writer->addAttribute('href',$item->getValue()); - if(($target=$this->getTarget())!=='') - $writer->addAttribute('target',$target); - } - if(($accesskey=$this->getAccessKey())!=='') - $writer->addAttribute('accesskey',$accesskey); - $writer->renderBeginTag('a'); - $writer->write(THttpUtility::htmlEncode($item->getText())); - $writer->renderEndTag(); - } - - protected function renderLinkButtonItem($writer, $item, $index) - { - if(!$this->_isEnabled || !$item->getEnabled()) - $writer->addAttribute('disabled','disabled'); - else - { - $this->_currentRenderItemIndex = $index; - $writer->addAttribute('id', $this->getClientID().$index); - $writer->addAttribute('href', "javascript:;//".$this->getClientID().$index); - $cs = $this->getPage()->getClientScript(); - $cs->registerPostBackControl($this->getClientClassName(),$this->getPostBackOptions()); - } - if(($accesskey=$this->getAccessKey())!=='') - $writer->addAttribute('accesskey',$accesskey); - $writer->renderBeginTag('a'); - $writer->write(THttpUtility::htmlEncode($item->getText())); - $writer->renderEndTag(); - } - - /** - * @return array postback options used for linkbuttons. - */ - protected function getPostBackOptions() - { - $options['ValidationGroup'] = $this->getValidationGroup(); - $options['CausesValidation'] = $this->getCausesValidation(); - $options['EventTarget'] = $this->getUniqueID(); - $options['EventParameter'] = $this->_currentRenderItemIndex; - $options['ID'] = $this->getClientID().$this->_currentRenderItemIndex; - $options['StopEvent'] = true; - return $options; - } - - protected function canCauseValidation() - { - $group = $this->getValidationGroup(); - $hasValidators = $this->getPage()->getValidators($group)->getCount()>0; - return $this->getCausesValidation() && $hasValidators; - } - - /** - * @throws TNotSupportedException if this method is invoked - */ - public function setAutoPostBack($value) - { - throw new TNotSupportedException('bulletedlist_autopostback_unsupported'); - } - - /** - * @throws TNotSupportedException if this method is invoked - */ - public function setSelectedIndex($index) - { - throw new TNotSupportedException('bulletedlist_selectedindex_unsupported'); - } - - /** - * @throws TNotSupportedException if this method is invoked - */ - public function setSelectedIndices($indices) - { - throw new TNotSupportedException('bulletedlist_selectedindices_unsupported'); - } - - /** - * @throws TNotSupportedException if this method is invoked - */ - public function setSelectedValue($value) - { - throw new TNotSupportedException('bulletedlist_selectedvalue_unsupported'); - } - - /** - * @throws TNotSupportedException if this method is invoked - */ - public function setSelectedValues($values) - { - throw new TNotSupportedException('bulletedlist_selectedvalue_unsupported'); - } -} - -/** - * TBulletedListEventParameter - * Event parameter for {@link TBulletedList::onClick Click} event of the - * bulleted list. The {@link getIndex Index} gives the zero-based index - * of the item that is currently being clicked. - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0 - */ -class TBulletedListEventParameter extends TEventParameter -{ - /** - * @var integer index of the item clicked - */ - private $_index; - - /** - * Constructor. - * @param integer index of the item clicked - */ - public function __construct($index) - { - $this->_index=$index; - } - - /** - * @return integer zero-based index of the item (rendered as a link button) that is clicked - */ - public function getIndex() - { - return $this->_index; - } -} - -/** - * TBulletStyle class. - * TBulletStyle defines the enumerable type for the possible bullet styles that may be used - * for a {@link TBulletedList} control. - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0.4 - */ -class TBulletStyle extends TEnumerable -{ - const NotSet='NotSet'; - const None='None'; - const Numbered='Numbered'; - const LowerAlpha='LowerAlpha'; - const UpperAlpha='UpperAlpha'; - const LowerRoman='LowerRoman'; - const UpperRoman='UpperRoman'; - const Disc='Disc'; - const Circle='Circle'; - const Square='Square'; - const CustomImage='CustomImage'; -} - -/** - * TBulletedListDisplayMode class. - * TBulletedListDisplayMode defines the enumerable type for the possible display mode - * of a {@link TBulletedList} control. - * - * The following enumerable values are defined: - * - Text: the bulleted list items are displayed as plain texts - * - HyperLink: the bulleted list items are displayed as hyperlinks - * - LinkButton: the bulleted list items are displayed as link buttons that can cause postbacks - * - * @author Qiang Xue - * @version $Id$ - * @package System.Web.UI.WebControls - * @since 3.0.4 - */ -class TBulletedListDisplayMode extends TEnumerable -{ - const Text='Text'; - const HyperLink='HyperLink'; - const LinkButton='LinkButton'; -} - + * @license http://www.pradosoft.com/license/ + * @version $Id$ + * @package System.Web.UI.WebControls + */ + +/** + * Includes TListControl class + */ +Prado::using('System.Web.UI.WebControls.TListControl'); + +/** + * TBulletedList class + * + * TBulletedList displays items in a bullet format. + * The bullet style is specified by {@link setBulletStyle BulletStyle}. When + * the style is 'CustomImage', the {@link setBackImageUrl BulletImageUrl} + * specifies the image used as bullets. + * + * TBulletedList displays the item texts in three different modes, specified + * via {@link setDisplayMode DisplayMode}. When the mode is Text, the item texts + * are displayed as static texts; When the mode is 'HyperLink', each item + * is displayed as a hyperlink whose URL is given by the item value, and the + * {@link setTarget Target} property can be used to specify the target browser window; + * When the mode is 'LinkButton', each item is displayed as a link button which + * posts back to the page if a user clicks on that and the event {@link onClick OnClick} + * will be raised under such a circumstance. + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TBulletedList extends TListControl implements IPostBackEventHandler +{ + /** + * @var boolean cached property value of Enabled + */ + private $_isEnabled; + /** + * @var TPostBackOptions postback options + */ + private $_postBackOptions; + + private $_currentRenderItemIndex; + + /** + * Raises the postback event. + * This method is required by {@link IPostBackEventHandler} interface. + * If {@link getCausesValidation CausesValidation} is true, it will + * invoke the page's {@link TPage::validate validate} method first. + * It will raise {@link onClick OnClick} events. + * This method is mainly used by framework and control developers. + * @param TEventParameter the event parameter + */ + public function raisePostBackEvent($param) + { + if($this->getCausesValidation()) + $this->getPage()->validate($this->getValidationGroup()); + $this->onClick(new TBulletedListEventParameter((int)$param)); + } + + /** + * @return string tag name of the bulleted list + */ + protected function getTagName() + { + switch($this->getBulletStyle()) + { + case TBulletStyle::Numbered: + case TBulletStyle::LowerAlpha: + case TBulletStyle::UpperAlpha: + case TBulletStyle::LowerRoman: + case TBulletStyle::UpperRoman: + return 'ol'; + } + return 'ul'; + } + + /** + * Gets the name of the javascript class responsible for performing postback for this control. + * This method overrides the parent implementation. + * @return string the javascript class name + */ + protected function getClientClassName() + { + return 'Prado.WebUI.TBulletedList'; + } + + /** + * Adds attribute name-value pairs to renderer. + * This overrides the parent implementation with additional bulleted list specific attributes. + * @param THtmlWriter the writer used for the rendering purpose + */ + protected function addAttributesToRender($writer) + { + $needStart=false; + switch($this->getBulletStyle()) + { + case TBulletStyle::None: + $writer->addStyleAttribute('list-style-type','none'); + $needStart=true; + break; + case TBulletStyle::Numbered: + $writer->addStyleAttribute('list-style-type','decimal'); + $needStart=true; + break; + case TBulletStyle::LowerAlpha: + $writer->addStyleAttribute('list-style-type','lower-alpha'); + $needStart=true; + break; + case TBulletStyle::UpperAlpha: + $writer->addStyleAttribute('list-style-type','upper-alpha'); + $needStart=true; + break; + case TBulletStyle::LowerRoman: + $writer->addStyleAttribute('list-style-type','lower-roman'); + $needStart=true; + break; + case TBulletStyle::UpperRoman: + $writer->addStyleAttribute('list-style-type','upper-roman'); + $needStart=true; + break; + case TBulletStyle::Disc: + $writer->addStyleAttribute('list-style-type','disc'); + break; + case TBulletStyle::Circle: + $writer->addStyleAttribute('list-style-type','circle'); + break; + case TBulletStyle::Square: + $writer->addStyleAttribute('list-style-type','square'); + break; + case TBulletStyle::CustomImage: + $url=$this->getBulletImageUrl(); + $writer->addStyleAttribute('list-style-image',"url($url)"); + break; + } + if($needStart && ($start=$this->getFirstBulletNumber())!=1) + $writer->addAttribute('start',"$start"); + parent::addAttributesToRender($writer); + } + + /** + * @return string image URL used for bullets when {@link getBulletStyle BulletStyle} is 'CustomImage'. + */ + public function getBulletImageUrl() + { + return $this->getViewState('BulletImageUrl',''); + } + + /** + * @param string image URL used for bullets when {@link getBulletStyle BulletStyle} is 'CustomImage'. + */ + public function setBulletImageUrl($value) + { + $this->setViewState('BulletImageUrl',$value,''); + } + + /** + * @return TBulletStyle style of bullets. Defaults to TBulletStyle::NotSet. + */ + public function getBulletStyle() + { + return $this->getViewState('BulletStyle',TBulletStyle::NotSet); + } + + /** + * @param TBulletStyle style of bullets. + */ + public function setBulletStyle($value) + { + $this->setViewState('BulletStyle',TPropertyValue::ensureEnum($value,'TBulletStyle'),TBulletStyle::NotSet); + } + + /** + * @return TBulletedListDisplayMode display mode of the list. Defaults to TBulletedListDisplayMode::Text. + */ + public function getDisplayMode() + { + return $this->getViewState('DisplayMode',TBulletedListDisplayMode::Text); + } + + /** + * @return TBulletedListDisplayMode display mode of the list. + */ + public function setDisplayMode($value) + { + $this->setViewState('DisplayMode',TPropertyValue::ensureEnum($value,'TBulletedListDisplayMode'),TBulletedListDisplayMode::Text); + } + + /** + * @return integer starting index when {@link getBulletStyle BulletStyle} is one of + * the following: 'Numbered', 'LowerAlpha', 'UpperAlpha', 'LowerRoman', 'UpperRoman'. + * Defaults to 1. + */ + public function getFirstBulletNumber() + { + return $this->getViewState('FirstBulletNumber',1); + } + + /** + * @param integer starting index when {@link getBulletStyle BulletStyle} is one of + * the following: 'Numbered', 'LowerAlpha', 'UpperAlpha', 'LowerRoman', 'UpperRoman'. + */ + public function setFirstBulletNumber($value) + { + $this->setViewState('FirstBulletNumber',TPropertyValue::ensureInteger($value),1); + } + + /** + * Raises 'OnClick' event. + * This method is invoked when the {@link getDisplayMode DisplayMode} is 'LinkButton' + * and end-users click on one of the buttons. + * @param TBulletedListEventParameter event parameter. + */ + public function onClick($param) + { + $this->raiseEvent('OnClick',$this,$param); + } + + /** + * @return string the target window or frame to display the Web page content + * linked to when {@link getDisplayMode DisplayMode} is 'HyperLink' and one of + * the hyperlinks is clicked. + */ + public function getTarget() + { + return $this->getViewState('Target',''); + } + + /** + * @param string the target window or frame to display the Web page content + * linked to when {@link getDisplayMode DisplayMode} is 'HyperLink' and one of + * the hyperlinks is clicked. + */ + public function setTarget($value) + { + $this->setViewState('Target',$value,''); + } + + /** + * Renders the control. + * @param THtmlWriter the writer for the rendering purpose. + */ + public function render($writer) + { + if($this->getHasItems()) + parent::render($writer); + } + + /** + * Renders the body contents. + * @param THtmlWriter the writer for the rendering purpose. + */ + public function renderContents($writer) + { + $this->_isEnabled=$this->getEnabled(true); + $this->_postBackOptions=$this->getPostBackOptions(); + $writer->writeLine(); + foreach($this->getItems() as $index=>$item) + { + if($item->getHasAttributes()) + $writer->addAttributes($item->getAttributes()); + $writer->renderBeginTag('li'); + $this->renderBulletText($writer,$item,$index); + $writer->renderEndTag(); + $writer->writeLine(); + } + } + + /** + * Renders each item + * @param THtmlWriter writer for the rendering purpose + * @param TListItem item to be rendered + * @param integer index of the item being rendered + */ + protected function renderBulletText($writer,$item,$index) + { + switch($this->getDisplayMode()) + { + case TBulletedListDisplayMode::Text: + $this->renderTextItem($writer, $item, $index); + break; + case TBulletedListDisplayMode::HyperLink: + $this->renderHyperLinkItem($writer, $item, $index); + break; + case TBulletedListDisplayMode::LinkButton: + $this->renderLinkButtonItem($writer, $item, $index); + break; + } + } + + protected function renderTextItem($writer, $item, $index) + { + if($item->getEnabled()) + $writer->write(THttpUtility::htmlEncode($item->getText())); + else + { + $writer->addAttribute('disabled','disabled'); + $writer->renderBeginTag('span'); + $writer->write(THttpUtility::htmlEncode($item->getText())); + $writer->renderEndTag(); + } + } + + protected function renderHyperLinkItem($writer, $item, $index) + { + if(!$this->_isEnabled || !$item->getEnabled()) + $writer->addAttribute('disabled','disabled'); + else + { + $writer->addAttribute('href',$item->getValue()); + if(($target=$this->getTarget())!=='') + $writer->addAttribute('target',$target); + } + if(($accesskey=$this->getAccessKey())!=='') + $writer->addAttribute('accesskey',$accesskey); + $writer->renderBeginTag('a'); + $writer->write(THttpUtility::htmlEncode($item->getText())); + $writer->renderEndTag(); + } + + protected function renderLinkButtonItem($writer, $item, $index) + { + if(!$this->_isEnabled || !$item->getEnabled()) + $writer->addAttribute('disabled','disabled'); + else + { + $this->_currentRenderItemIndex = $index; + $writer->addAttribute('id', $this->getClientID().$index); + $writer->addAttribute('href', "javascript:;//".$this->getClientID().$index); + $cs = $this->getPage()->getClientScript(); + $cs->registerPostBackControl($this->getClientClassName(),$this->getPostBackOptions()); + } + if(($accesskey=$this->getAccessKey())!=='') + $writer->addAttribute('accesskey',$accesskey); + $writer->renderBeginTag('a'); + $writer->write(THttpUtility::htmlEncode($item->getText())); + $writer->renderEndTag(); + } + + /** + * @return array postback options used for linkbuttons. + */ + protected function getPostBackOptions() + { + $options['ValidationGroup'] = $this->getValidationGroup(); + $options['CausesValidation'] = $this->getCausesValidation(); + $options['EventTarget'] = $this->getUniqueID(); + $options['EventParameter'] = $this->_currentRenderItemIndex; + $options['ID'] = $this->getClientID().$this->_currentRenderItemIndex; + $options['StopEvent'] = true; + return $options; + } + + protected function canCauseValidation() + { + $group = $this->getValidationGroup(); + $hasValidators = $this->getPage()->getValidators($group)->getCount()>0; + return $this->getCausesValidation() && $hasValidators; + } + + /** + * @throws TNotSupportedException if this method is invoked + */ + public function setAutoPostBack($value) + { + throw new TNotSupportedException('bulletedlist_autopostback_unsupported'); + } + + /** + * @throws TNotSupportedException if this method is invoked + */ + public function setSelectedIndex($index) + { + throw new TNotSupportedException('bulletedlist_selectedindex_unsupported'); + } + + /** + * @throws TNotSupportedException if this method is invoked + */ + public function setSelectedIndices($indices) + { + throw new TNotSupportedException('bulletedlist_selectedindices_unsupported'); + } + + /** + * @throws TNotSupportedException if this method is invoked + */ + public function setSelectedValue($value) + { + throw new TNotSupportedException('bulletedlist_selectedvalue_unsupported'); + } + + /** + * @throws TNotSupportedException if this method is invoked + */ + public function setSelectedValues($values) + { + throw new TNotSupportedException('bulletedlist_selectedvalue_unsupported'); + } +} + +/** + * TBulletedListEventParameter + * Event parameter for {@link TBulletedList::onClick Click} event of the + * bulleted list. The {@link getIndex Index} gives the zero-based index + * of the item that is currently being clicked. + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0 + */ +class TBulletedListEventParameter extends TEventParameter +{ + /** + * @var integer index of the item clicked + */ + private $_index; + + /** + * Constructor. + * @param integer index of the item clicked + */ + public function __construct($index) + { + $this->_index=$index; + } + + /** + * @return integer zero-based index of the item (rendered as a link button) that is clicked + */ + public function getIndex() + { + return $this->_index; + } +} + +/** + * TBulletStyle class. + * TBulletStyle defines the enumerable type for the possible bullet styles that may be used + * for a {@link TBulletedList} control. + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0.4 + */ +class TBulletStyle extends TEnumerable +{ + const NotSet='NotSet'; + const None='None'; + const Numbered='Numbered'; + const LowerAlpha='LowerAlpha'; + const UpperAlpha='UpperAlpha'; + const LowerRoman='LowerRoman'; + const UpperRoman='UpperRoman'; + const Disc='Disc'; + const Circle='Circle'; + const Square='Square'; + const CustomImage='CustomImage'; +} + +/** + * TBulletedListDisplayMode class. + * TBulletedListDisplayMode defines the enumerable type for the possible display mode + * of a {@link TBulletedList} control. + * + * The following enumerable values are defined: + * - Text: the bulleted list items are displayed as plain texts + * - HyperLink: the bulleted list items are displayed as hyperlinks + * - LinkButton: the bulleted list items are displayed as link buttons that can cause postbacks + * + * @author Qiang Xue + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.0.4 + */ +class TBulletedListDisplayMode extends TEnumerable +{ + const Text='Text'; + const HyperLink='HyperLink'; + const LinkButton='LinkButton'; +} + -- cgit v1.2.3