From 27478826035da62e1cba07833101b162558f895a Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 4 May 2006 03:02:44 +0000 Subject: Merge from 3.0 branch till 1016. --- framework/Web/UI/WebControls/TTable.php | 56 ++++++++------------------- framework/Web/UI/WebControls/TTableRow.php | 62 ++++++++---------------------- framework/Web/UI/WebControls/TWizard.php | 58 +++++++++++++++++++++++++++- 3 files changed, 87 insertions(+), 89 deletions(-) (limited to 'framework/Web/UI/WebControls') diff --git a/framework/Web/UI/WebControls/TTable.php b/framework/Web/UI/WebControls/TTable.php index 4fcbb6fb..e7baca02 100644 --- a/framework/Web/UI/WebControls/TTable.php +++ b/framework/Web/UI/WebControls/TTable.php @@ -124,13 +124,21 @@ class TTable extends TWebControl } /** - * @return TTableRowCollection list of {@link TTableRow} controls + * Creates a control collection object that is to be used to hold child controls + * @return TTableRowCollection control collection + * @see getControls + */ + protected function createControlCollection() + { + return new TTableRowCollection($this); + } + + /** + * @return TTableCellCollection list of {@link TTableCell} controls */ public function getRows() { - if(!$this->_rows) - $this->_rows=new TTableRowCollection($this); - return $this->_rows; + return $this->getControls(); } /** @@ -288,10 +296,10 @@ class TTable extends TWebControl */ public function renderContents($writer) { - if($this->_rows) + if($this->getHasControls()) { $writer->writeLine(); - foreach($this->_rows as $row) + foreach($this->getControls() as $row) { $row->renderControl($writer); $writer->writeLine(); @@ -300,6 +308,7 @@ class TTable extends TWebControl } } + /** * TTableRowCollection class. * @@ -310,22 +319,8 @@ class TTable extends TWebControl * @package System.Web.UI.WebControls * @since 3.0 */ -class TTableRowCollection extends TList +class TTableRowCollection extends TControlCollection { - /** - * @var mixed row collection owner - */ - private $_owner=null; - - /** - * Constructor. - * @param mixed row collection owner - */ - public function __construct($owner=null) - { - $this->_owner=$owner; - } - /** * Inserts an item at the specified position. * This overrides the parent implementation by performing additional @@ -337,29 +332,10 @@ class TTableRowCollection extends TList public function insertAt($index,$item) { if($item instanceof TTableRow) - { parent::insertAt($index,$item); - if($this->_owner) - $this->_owner->getControls()->insertAt($index,$item); - } else throw new TInvalidDataTypeException('tablerowcollection_tablerow_required'); } - - /** - * Removes an item at the specified position. - * This overrides the parent implementation by performing additional - * cleanup work when removing a table row. - * @param integer the index of the item to be removed. - * @return mixed the removed item. - */ - public function removeAt($index) - { - $item=parent::removeAt($index); - if($item instanceof TTableRow) - $this->_owner->getControls()->remove($item); - return $item; - } } ?> \ No newline at end of file diff --git a/framework/Web/UI/WebControls/TTableRow.php b/framework/Web/UI/WebControls/TTableRow.php index 6a3f196a..daf921ce 100644 --- a/framework/Web/UI/WebControls/TTableRow.php +++ b/framework/Web/UI/WebControls/TTableRow.php @@ -31,11 +31,6 @@ Prado::using('System.Web.UI.WebControls.TTableHeaderCell'); */ class TTableRow extends TWebControl { - /** - * @var TTableCellCollection cell collection - */ - private $_cells=null; - /** * @return string tag name for the table */ @@ -66,14 +61,22 @@ class TTableRow extends TWebControl return new TTableItemStyle; } + /** + * Creates a control collection object that is to be used to hold child controls + * @return TTableCellCollection control collection + * @see getControls + */ + protected function createControlCollection() + { + return new TTableCellCollection($this); + } + /** * @return TTableCellCollection list of {@link TTableCell} controls */ public function getCells() { - if(!$this->_cells) - $this->_cells=new TTableCellCollection($this); - return $this->_cells; + return $this->getControls(); } /** @@ -124,10 +127,10 @@ class TTableRow extends TWebControl */ public function renderContents($writer) { - if($this->_cells) + if($this->getHasControls()) { $writer->writeLine(); - foreach($this->_cells as $cell) + foreach($this->getControls() as $cell) { $cell->renderControl($writer); $writer->writeLine(); @@ -136,8 +139,6 @@ class TTableRow extends TWebControl } } - - /** * TTableCellCollection class. * @@ -148,23 +149,8 @@ class TTableRow extends TWebControl * @package System.Web.UI.WebControls * @since 3.0 */ -class TTableCellCollection extends TList +class TTableCellCollection extends TControlCollection { - /** - * @var mixed cell collection owner - */ - private $_owner=null; - - /** - * Constructor. - * @param mixed cell collection owner - */ - public function __construct($owner=null) - { - $this->_owner=$owner; - } - - /** * Inserts an item at the specified position. * This overrides the parent implementation by performing additional @@ -176,28 +162,10 @@ class TTableCellCollection extends TList public function insertAt($index,$item) { if($item instanceof TTableCell) - { parent::insertAt($index,$item); - if($this->_owner) - $this->_owner->getControls()->insertAt($index,$item); - } else throw new TInvalidDataTypeException('tablecellcollection_tablecell_required'); } - - /** - * Removes an item at the specified position. - * This overrides the parent implementation by performing additional - * cleanup work when removing a table cell. - * @param integer the index of the item to be removed. - * @return mixed the removed item. - */ - public function removeAt($index) - { - $item=parent::removeAt($index); - if($item instanceof TTableCell) - $this->_owner->getControls()->remove($item); - return $item; - } } + ?> \ No newline at end of file diff --git a/framework/Web/UI/WebControls/TWizard.php b/framework/Web/UI/WebControls/TWizard.php index 20e27f2b..2d2815ba 100644 --- a/framework/Web/UI/WebControls/TWizard.php +++ b/framework/Web/UI/WebControls/TWizard.php @@ -597,6 +597,54 @@ class TWizard extends TWebControl implements INamingContainer $this->setViewState('UseDefaultLayout',TPropertyValue::ensureBoolean($value),true); } + /** + * @return TPanel container of the wizard header + */ + public function getHeader() + { + return $this->_header; + } + + /** + * @return TPanel container of the wizard step content + */ + public function getStepContent() + { + return $this->_stepContent; + } + + /** + * @return TPanel container of the wizard side bar + */ + public function getSideBar() + { + return $this->_sideBar; + } + + /** + * @var TWizardNavigationContainer container of the start navigation + */ + public function getStartNavigation() + { + return $this->_startNavigation; + } + + /** + * @var TWizardNavigationContainer container of the step navigation + */ + public function getStepNavigation() + { + return $this->_stepNavigation; + } + + /** + * @var TWizardNavigationContainer container of the finish navigation + */ + public function getFinishNavigation() + { + return $this->_finishNavigation; + } + /** * Raises OnActiveStepChanged event. * This event is raised when the current visible step is changed in the @@ -845,8 +893,13 @@ class TWizard extends TWebControl implements INamingContainer $activeStep=$this->getActiveStep(); $activeStepIndex=$this->getActiveStepIndex(); - if(!$this->_navigation || $activeStepIndex<0 || $activeStepIndex>=$wizardSteps->getCount()) + if(!$this->_navigation) + return; + else if($activeStepIndex<0 || $activeStepIndex>=$wizardSteps->getCount()) + { + $this->_navigation->setVisible(false); return; + } // set visibility of different types of navigation panel $showStandard=true; @@ -1135,7 +1188,8 @@ class TWizard extends TWebControl implements INamingContainer $this->_stepContent=new TPanel; $this->_stepContent->getControls()->add($multiView); $this->getControls()->add($this->_stepContent); - $multiView->setActiveViewIndex(0); + if($multiView->getViews()->getCount()) + $multiView->setActiveViewIndex(0); } /** -- cgit v1.2.3