]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MLIB/Widget/Window.php
Se agrega un objeto que permite armar tablas html a partir de templates.
[mecon/meconlib.git] / lib / MLIB / Widget / Window.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                                     mlib
4 -------------------------------------------------------------------------------
5 This file is part of mlib.
6
7 mlib is free software; you can redistribute it and/or modify it under
8 the terms of the GNU Lesser General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your option)
10 any later version.
11
12 mlib is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
15 details.
16  
17 You should have received a copy of the GNU Lesser General Public License; if 
18 not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Created: lun ago  2 11:05:12 ART 2004
22 Authors: Martín Marrese <m_marrese@argentina.com>
23          Leandro Lucarella <luca@llucax.hn.org>
24 -------------------------------------------------------------------------------
25 $Id$
26 -----------------------------------------------------------------------------*/
27
28 require_once 'MLIB/Widget/Container.php';
29
30 /**
31  * Window base class.
32  *
33  * @todo Add a global example using all the methods.
34  * @author Leandro Lucarella <luca@llucax.hn.org>
35  * @author Martín Marrese <m_marrese@argentina.com>
36  * @since  1.0
37  */
38 class MLIB_Widget_Window extends MLIB_Widget_Container {
39     
40     /**
41      * Style selected for the window.
42      *
43      * @protected
44      */
45     var $style = null;
46
47     /**
48      * Property List.
49      *
50      * @protected
51      */
52     var $properties = array ();
53    
54
55     /**
56      * Constructor.
57      * For PHP4 backward compatibility.
58      *
59      * @copydoc __construct()
60      * @see __construct()
61      */
62     function MLIB_Widget_Window($style)
63     {
64         $this->__construct($style);
65     }
66
67     /**
68      * Constructor.
69      *
70      * @param style Style selected for the window.
71      * @todo Add an example.
72      */
73     function __constructor($style)
74     {
75         $this->style = $style;
76     }
77
78     /**
79      * Converts the widget to a string that is human readable.
80      *
81      * @return The Widget "converted" to a string.
82      * @todo Add an example.
83      */
84     function __toString()
85     {
86         return $tpl->parse($this->style, $this->properties);
87     }
88     
89     /**
90      * Sets a property.
91      *
92      * @param key Name of the property.
93      * @param value Value of the property.
94      *
95      * @todo Add an example.
96      */
97     function setProperty($key, $value)
98     { 
99         //FixMe Tiene que haber una manera mejor de hacer esto.
100         $this->properties[$key][] = $value;
101     }
102
103     /**
104      * Removes a property and returns the property value.
105      *
106      * @param key Name of the property.
107      *
108      * @return PropValue.
109      */
110     function removeProperty($key)
111     {
112         $value = $this->properties[$key];
113         unset($this->properties[$key]);
114         return $value;
115     }
116
117     /**
118      * Gets a propertie value.
119      *
120      * @param key Name of the property.
121      *
122      * @return PropValue.
123      */
124     function getProperty($key)
125     {
126         return $this->properties[$key];
127     }
128 }
129 ?>