1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<?php
/**
* TTableHeaderCell class file
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link https://github.com/pradosoft/prado
* @copyright Copyright © 2005-2015 The PRADO Group
* @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
* @package System.Web.UI.WebControls
*/
/**
* Includes TTableCell class
*/
Prado::using('System.Web.UI.WebControls.TTableCell');
/**
* TTableHeaderCell class.
*
* TTableHeaderCell displays a table header cell on a Web page.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @package System.Web.UI.WebControls
* @since 3.0
*/
class TTableHeaderCell extends TTableCell
{
/**
* @return string tag name for the table header cell
*/
protected function getTagName()
{
return 'th';
}
/**
* Adds attributes to renderer.
* @param THtmlWriter the renderer
*/
protected function addAttributesToRender($writer)
{
parent::addAttributesToRender($writer);
if(($scope=$this->getScope())!==TTableHeaderScope::NotSet)
$writer->addAttribute('scope',$scope===TTableHeaderScope::Row?'row':'col');
if(($text=$this->getAbbreviatedText())!=='')
$writer->addAttribute('abbr',$text);
if(($text=$this->getCategoryText())!=='')
$writer->addAttribute('axis',$text);
}
/**
* @return TTableHeaderScope the scope of the cells that the header cell applies to. Defaults to TTableHeaderScope::NotSet.
*/
public function getScope()
{
return $this->getViewState('Scope',TTableHeaderScope::NotSet);
}
/**
* @param TTableHeaderScope the scope of the cells that the header cell applies to.
*/
public function setScope($value)
{
$this->setViewState('Scope',TPropertyValue::ensureEnum($value,'TTableHeaderScope'),TTableHeaderScope::NotSet);
}
/**
* @return string the abbr attribute of the HTML th element
*/
public function getAbbreviatedText()
{
return $this->getViewState('AbbreviatedText','');
}
/**
* @param string the abbr attribute of the HTML th element
*/
public function setAbbreviatedText($value)
{
$this->setViewState('AbbreviatedText',$value,'');
}
/**
* @return string the axis attribute of the HTML th element
*/
public function getCategoryText()
{
return $this->getViewState('CategoryText','');
}
/**
* @param string the axis attribute of the HTML th element
*/
public function setCategoryText($value)
{
$this->setViewState('CategoryText',$value,'');
}
}
/**
* TTableHeaderScope class.
* TTableHeaderScope defines the enumerable type for the possible table scopes that a table header is associated with.
*
* The following enumerable values are defined:
* - NotSet: the scope is not specified
* - Row: the scope is row-wise
* - Column: the scope is column-wise
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @package System.Web.UI.WebControls
* @since 3.0.4
*/
class TTableHeaderScope extends TEnumerable
{
const NotSet='NotSet';
const Row='Row';
const Column='Column';
}
|