summaryrefslogtreecommitdiff
path: root/framework/Web/UI/WebControls
diff options
context:
space:
mode:
authorxue <>2006-05-04 03:02:44 +0000
committerxue <>2006-05-04 03:02:44 +0000
commit27478826035da62e1cba07833101b162558f895a (patch)
treef202993add7c7b5f9992407234dd5272d2267cff /framework/Web/UI/WebControls
parentbdae204aaf0d47a284dd19fad52cacef4a4afa46 (diff)
Merge from 3.0 branch till 1016.
Diffstat (limited to 'framework/Web/UI/WebControls')
-rw-r--r--framework/Web/UI/WebControls/TTable.php56
-rw-r--r--framework/Web/UI/WebControls/TTableRow.php62
-rw-r--r--framework/Web/UI/WebControls/TWizard.php58
3 files changed, 87 insertions, 89 deletions
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,23 +319,9 @@ 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
* operations for each newly added table row.
@@ -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
@@ -32,11 +32,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
*/
protected function getTagName()
@@ -67,13 +62,21 @@ class TTableRow extends TWebControl
}
/**
+ * 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,24 +149,9 @@ 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
* operations for each newly added table cell.
@@ -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
@@ -598,6 +598,54 @@ class TWizard extends TWebControl implements INamingContainer
}
/**
+ * @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 <b>OnActiveStepChanged</b> event.
* This event is raised when the current visible step is changed in the
* wizard.
@@ -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);
}
/**