]> git.llucax.com Git - mecon/meconlib.git/blob - HTML/php/Tabla.php
b38345a3ee6275e0db649a4731da227e91b2a5f9
[mecon/meconlib.git] / HTML / php / Tabla.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                          HTML - TABLE                              |
5 // +--------------------------------------------------------------------+
6 // |   Libreria para la estandarizacion de los elementos html de los    |
7 // |                         de la Intranet                             |
8 // |                      Ministerio de Economía                        |
9 // +--------------------------------------------------------------------+
10 // | Creado: fri mar 21 ART 2003                                        |
11 // | Autor:  Martin Marrese <mmarre@mecon.gov.ar>                       |
12 // +--------------------------------------------------------------------+
13 // 
14 // $Id$
15 // 
16 // $URL$
17 // $Rev$
18 // $Date$
19 // $Author$
20
21 require_once 'HTML/Table.php';
22
23 /**
24 * Manejo de tablas.
25 *
26 * Libreria para le manejo de las tablas de los sistemas de intranet.
27 *
28 * @version $Rev$
29 * @author  $Author$
30 */
31
32 class Tabla extends HTML_Table {
33     
34     /**
35     * Valores de Configuracion particular
36     *
37     * @var array
38     */
39     var $_conf;
40     
41     /**
42     * Objeto tabla que voy a utilizar
43     *
44     * @var Object HTML_Table
45     */
46     var $_tabla;
47     
48     /**
49     * Constructor. 
50     *
51     * Puede recibir como parametro un string con los atributos que se 
52     * quieren dar a la tabla en cuestion. Estos atributos estan
53     * seteados por default segun el archivo de configuracion.
54     *
55     * @param $atributos Atributos diferentes a los estandares para la
56     * tabla
57     * 
58     * @access public
59     */
60     function Tabla ($atributos = '') 
61     {
62         $this->_conf = include 'Tabla/conf_Tabla.php'; // Obtengo los valores particulares de configuracion
63         // Seteo los atributos para la tabla
64         if (!strcmp($atributos,'')) {
65             $atributos = $this->_conf['atributos']['tabla_comun'];
66         }        
67         //Genero el objeto HTML_Table
68         $this->HTML_Table($atributos);
69         //Modifico los atributos de todas las tablas
70         //Hay que encontrar o hacer una funcion que setee los atributos para las futuras
71         //inserciones.
72     //    $this->setAllAttributes($this->_conf['atributos']['celda_comun']);
73     }    
74     
75     /**                 
76     * Agrega una fila del tipo Cabecera
77     *
78     * Agrega una fila del tipo cabecera, tomando colores y demas del  
79     * archivo de configuracion. Recibe como parametro un array con 
80     * los datos a incluir en la linea. Agrega tantas columnas como
81     * elementos tenga el array. Si no recibe parametro alguno, 
82     * inserta una fila en blanco. Devuelve el identificador de la
83     * fila en donde inserto los datos.
84     *
85     * @param $contenido Contenido de la fila
86     *
87     * @return int Identificador de Linea
88     * 
89     * @access public
90     */
91     function agregarFilaCabecera ($contenido = '', $atributos = '')
92     {
93         return $this->addRow($contenido, $this->_conf['atributos']['celda_cabecera'],'TH');
94     }
95
96     /**                 
97     * Agrega una fila del tipo Comun
98     *
99     * Agrega una fila del tipo comun, tomando colores y demas del  
100     * archivo de configuracion. Recibe como parametro un array con 
101     * los datos a incluir en la linea. Agrega tantas columnas como
102     * elementos tenga el array. Si no recibe parametro alguno, 
103     * inserta una fila en blanco. Devuelve el identificador de la
104     * fila en donde inserto los datos.
105     *
106     * @param $contenido Contenido de la fila
107     *
108     * @return int Identificador de Linea
109     * 
110     * @access public
111     */
112     function agregarFila ($contenido = '')
113     {
114         return $this->addRow($contenido,$this->_conf['atributos']['celda_comun']);
115     }
116
117
118     /**                 
119     * Modifica el atributo rowSpan a la celda pasada por parametro
120     *
121     * @param int $fila
122     * @param int $columna
123     * @param int $valor
124     * 
125     * @access public
126     */
127     function rowSpan ($fila, $columna, $valor)
128     {
129         return $this->updateCellAttributes($fila, $columna, 'rowspan='.$valor);
130     }
131
132     /**                 
133     * Modifica el atributo colSpan a la celda pasada por parametro
134     *
135     * @param int $fila
136     * @param int $columna
137     * @param int $valor
138     * 
139     * @access public
140     */
141     function colSpan ($fila, $columna, $valor)
142     {
143         return $this->updateCellAttributes($fila, $columna, 'colspan='.$valor);
144     }
145
146     /**                 
147     * Modifica el atributo aling de la celda pasada por parametro
148     *
149     * @param int $fila
150     * @param int $columna
151     * @param string $valor (left, center, right...)
152     * 
153     * @access public
154     */
155     function align ($fila, $columna, $valor)
156     {
157         return $this->updateCellAttributes($fila, $columna, 'align="'.$valor.'"');
158     }
159
160     /**                 
161     * Setea una columna como del tipo cabecera    
162     *
163     * @param int $columna
164     * 
165     * @access public
166     */
167     function setColCabecera ($columna)
168     {
169         return $this->updateColAttributes($columna,$this->_conf['atributos']['celda_cabecera']);
170     }
171
172     /**                 
173     * Alinea una columna entera  
174     *
175     * @param int $columna
176     * @param strin $valor
177     * 
178     * @access public
179     */
180     function setColAlign ($columna, $valor)
181     {
182         return $this->updateColAttributes($columna,'align="'.$valor.'"');
183     }
184
185     /**                 
186     * Cambia el color de fondo de una celda  
187     *
188     * @param int $fila
189     * @param int $columna
190     * @param strin $valor
191     * 
192     * @access public
193     */
194     function setCellBgcolor ($fila, $columna, $valor)
195     {
196         return $this->updateCellAttributes($fila, $columna,'bgcolor="'.$valor.'"');
197     }
198
199     /**                 
200     * Devuelve el html de la tabla
201     *
202     * Devuelve el html de la tabla para que sea mostrado.
203     * Como parametro recibe el indicador de tabla simple.
204     * Si doble es 0, devuelve el html comun y corriente, si es
205     * distinto de 0 devuelve una tabla sola
206     *
207     * @param int $doble
208     *
209     * @return string Html
210     * 
211     * @access public
212     */
213     function toHtml ($doble = 0)
214     {
215         // Agregar la tabla de fondo.
216         if ($doble == 0 ) {
217             $tabla_externa =  new HTML_Table($this->_conf['atributos']['tabla_contenedora']);
218             $tabla_externa->setCellContents(0,0,parent::toHtml(),$this->_conf['atributos']['celda_comun']);
219             $result = $tabla_externa->toHtml();    
220         }
221         else {
222             $result = parent::toHtml();
223         }
224
225         return $result;
226     }
227 }  
228 ?>