summaryrefslogtreecommitdiff
path: root/framework/Web/UI/WebControls/TPanel.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/UI/WebControls/TPanel.php')
-rw-r--r--framework/Web/UI/WebControls/TPanel.php222
1 files changed, 6 insertions, 216 deletions
diff --git a/framework/Web/UI/WebControls/TPanel.php b/framework/Web/UI/WebControls/TPanel.php
index 03f0a3a3..27006b94 100644
--- a/framework/Web/UI/WebControls/TPanel.php
+++ b/framework/Web/UI/WebControls/TPanel.php
@@ -11,6 +11,11 @@
*/
/**
+ * Includes TPanelStyle class file
+ */
+Prado::using('System.Web.UI.WebControls.TPanelStyle');
+
+/**
* TPanel class
*
* TPanel represents a component that acts as a container for other component.
@@ -52,6 +57,7 @@ class TPanel extends TWebControl
/**
* Creates a style object to be used by the control.
* This method overrides the parent impementation by creating a TPanelStyle object.
+ * @return TPanelStyle the style used by TPanel.
*/
protected function createStyle()
{
@@ -228,220 +234,4 @@ class TPanel extends TWebControl
}
}
-/**
- * TPanelStyle class.
- * TPanelStyle represents the CSS style specific for panel HTML tag.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @version $Revision: $ $Date: $
- * @package System.Web.UI.WebControls
- * @since 3.0
- */
-class TPanelStyle extends TStyle
-{
- /**
- * @var string the URL of the background image for the panel component
- */
- private $_backImageUrl=null;
- /**
- * @var string alignment of the content in the panel.
- */
- private $_direction=null;
- /**
- * @var string horizontal alignment of the contents within the panel
- */
- private $_horizontalAlign=null;
- /**
- * @var string visibility and position of scroll bars
- */
- private $_scrollBars=null;
- /**
- * @var boolean whether the content wraps within the panel
- */
- private $_wrap=null;
-
- /**
- * Adds attributes related to CSS styles to renderer.
- * This method overrides the parent implementation.
- * @param THtmlWriter the writer used for the rendering purpose
- */
- public function addAttributesToRender($writer)
- {
- if(($url=trim($this->getBackImageUrl()))!=='')
- $this->setStyleField('background-image','url('.$url.')');
-
- switch($this->getScrollBars())
- {
- case 'Horizontal': $this->setStyleField('overflow-x','scroll'); break;
- case 'Vertical': $this->setStyleField('overflow-y','scroll'); break;
- case 'Both': $this->setStyleField('overflow','scroll'); break;
- case 'Auto': $this->setStyleField('overflow','auto'); break;
- }
-
- if(($align=$this->getHorizontalAlign())!=='NotSet')
- $this->setStyleField('text-align',strtolower($align));
-
- if(!$this->getWrap())
- $this->setStyleField('white-space','nowrap');
-
- if(($direction=$this->getDirection())!=='NotSet')
- {
- if($direction==='LeftToRight')
- $this->setStyleField('direction','ltr');
- else
- $this->setStyleField('direction','rtl');
- }
-
- parent::addAttributesToRender($writer);
- }
-
- /**
- * @return string the URL of the background image for the panel component.
- */
- public function getBackImageUrl()
- {
- return $this->_backImageUrl===null?'':$this->_backImageUrl;
- }
-
- /**
- * Sets the URL of the background image for the panel component.
- * @param string the URL
- */
- public function setBackImageUrl($value)
- {
- $this->_backImageUrl=$value;
- }
-
- /**
- * @return string alignment of the content in the panel. Defaults to 'NotSet'.
- */
- public function getDirection()
- {
- return $this->_direction===null?'NotSet':$this->_direction;
- }
-
- /**
- * @param string alignment of the content in the panel.
- * Valid values include 'NotSet', 'LeftToRight', 'RightToLeft'.
- */
- public function setDirection($value)
- {
- $this->_direction=TPropertyValue::ensureEnum($value,array('NotSet','LeftToRight','RightToLeft'));
- }
-
- /**
- * @return boolean whether the content wraps within the panel. Defaults to true.
- */
- public function getWrap()
- {
- return $this->_wrap===null?true:$this->_wrap;
- }
-
- /**
- * Sets the value indicating whether the content wraps within the panel.
- * @param boolean whether the content wraps within the panel.
- */
- public function setWrap($value)
- {
- $this->_wrap=TPropertyValue::ensureBoolean($value);
- }
-
- /**
- * @return string the horizontal alignment of the contents within the panel, defaults to 'NotSet'.
- */
- public function getHorizontalAlign()
- {
- return $this->_horizontalAlign===null?'NotSet':$this->_horizontalAlign;
- }
-
- /**
- * Sets the horizontal alignment of the contents within the panel.
- * Valid values include 'NotSet', 'Justify', 'Left', 'Right', 'Center'
- * @param string the horizontal alignment
- */
- public function setHorizontalAlign($value)
- {
- $this->_horizontalAlign=TPropertyValue::ensureEnum($value,array('NotSet','Left','Right','Center','Justify'));
- }
-
- /**
- * @return string the visibility and position of scroll bars in a panel control, defaults to None.
- */
- public function getScrollBars()
- {
- return $this->_scrollBars===null?'None':$this->_scrollBars;
- }
-
- /**
- * @param string the visibility and position of scroll bars in a panel control.
- * Valid values include None, Auto, Both, Horizontal and Vertical.
- */
- public function setScrollBars($value)
- {
- $this->_scrollBars=TPropertyValue::ensureEnum($value,array('None','Auto','Both','Horizontal','Vertical'));
- }
-
- /**
- * Sets the style attributes to default values.
- * This method overrides the parent implementation by
- * resetting additional TTableStyle specific attributes.
- */
- public function reset()
- {
- parent::reset();
- $this->_backImageUrl=null;
- $this->_direction=null;
- $this->_horizontalAlign=null;
- $this->_scrollBars=null;
- $this->_wrap=null;
- }
-
- /**
- * Copies the fields in a new style to this style.
- * If a style field is set in the new style, the corresponding field
- * in this style will be overwritten.
- * @param TStyle the new style
- */
- public function copyFrom($style)
- {
- parent::copyFrom($style);
- if($style instanceof TPanelStyle)
- {
- if($style->_backImageUrl!==null)
- $this->_backImageUrl=$style->_backImageUrl;
- if($style->_direction!==null)
- $this->_direction=$style->_direction;
- if($style->_horizontalAlign!==null)
- $this->_horizontalAlign=$style->_horizontalAlign;
- if($style->_scrollBars!==null)
- $this->_scrollBars=$style->_scrollBars;
- if($style->_wrap!==null)
- $this->_wrap=$style->_wrap;
- }
- }
-
- /**
- * Merges the style with a new one.
- * If a style field is not set in this style, it will be overwritten by
- * the new one.
- * @param TStyle the new style
- */
- public function mergeWith($style)
- {
- parent::mergeWith($style);
- if($style instanceof TPanelStyle)
- {
- if($this->_backImageUrl===null && $style->_backImageUrl!==null)
- $this->_backImageUrl=$style->_backImageUrl;
- if($this->_direction===null && $style->_direction!==null)
- $this->_direction=$style->_direction;
- if($this->_horizontalAlign===null && $style->_horizontalAlign!==null)
- $this->_horizontalAlign=$style->_horizontalAlign;
- if($this->_scrollBars===null && $style->_scrollBars!==null)
- $this->_scrollBars=$style->_scrollBars;
- if($this->_wrap===null && $style->_wrap!==null)
- $this->_wrap=$style->_wrap;
- }
- }
-}
?> \ No newline at end of file