From c4ffe5fe2b3556f0fcbf6f7a28ef09ce24d06e74 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 1 Jan 2006 19:48:02 +0000 Subject: Added TDataSourceControl, TDataSourceView, TRepeatInfo. --- .../Web/UI/WebControls/TDataSourceControl.php | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 framework/Web/UI/WebControls/TDataSourceControl.php (limited to 'framework/Web/UI/WebControls/TDataSourceControl.php') diff --git a/framework/Web/UI/WebControls/TDataSourceControl.php b/framework/Web/UI/WebControls/TDataSourceControl.php new file mode 100644 index 00000000..6814e872 --- /dev/null +++ b/framework/Web/UI/WebControls/TDataSourceControl.php @@ -0,0 +1,82 @@ +raiseEvent('DataSourceChanged',$this,$param); + } + + public function focus() + { + throw new TNotSupportedException('datasourcecontrol_focus_unsupported'); + } + + public function getEnableTheming() + { + return false; + } + + public function setEnableTheming($value) + { + throw new TNotSupportedException('datasourcecontrol_enabletheming_unsupported'); + } + + public function getSkinID() + { + return ''; + } + + public function setSkinID($value) + { + throw new TNotSupportedException('datasourcecontrol_skinid_unsupported'); + } + + public function getVisible() + { + return false; + } + + public function setVisible($value) + { + throw new TNotSupportedException('datasourcecontrol_visible_unsupported'); + } +} + +class TReadOnlyDataSource extends TDataSourceControl +{ + private $_dataSource; + private $_dataMember; + + public function __construct($dataSource,$dataMember) + { + if(!is_array($dataSource) && !($dataSource instanceof IDataSource) && !($dataSource instanceof Traversable)) + throw new TInvalidDataTypeException('readonlydatasource_datasource_invalid'); + $this->_dataSource=$dataSource; + $this->_dataMember=$dataMember; + } + + public function getView($viewName) + { + if($this->_dataSource instanceof IDataSource) + return $this->_dataSource->getView($viewName); + else + return new TReadOnlyDataSourceView($this,$this->_dataMember,$this->_dataSource); + } +} + +?> \ No newline at end of file -- cgit v1.2.3