+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ mlib
+-------------------------------------------------------------------------------
+This file is part of mlib.
+
+mlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+mlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details.
+
+You should have received a copy of the GNU Lesser General Public License; if
+not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Created: lun ago 2 11:05:12 ART 2004
+Authors: Martín Marrese <m_marrese@argentina.com>
+ Leandro Lucarella <luca@llucax.hn.org>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+require_once 'MLIB/Widget/Container.php';
+
+/**
+ * Window base class.
+ *
+ * @todo Add a global example using all the methods.
+ * @author Leandro Lucarella <luca@llucax.hn.org>
+ * @author Martín Marrese <m_marrese@argentina.com>
+ * @since 1.0
+ */
+class MLIB_Widget_Window extends MLIB_Widget_Container {
+
+ /**
+ * Style selected for the window.
+ *
+ * @protected
+ */
+ var $style = null;
+
+ /**
+ * Property List.
+ *
+ * @protected
+ */
+ var $properties = array ();
+
+
+ /**
+ * Constructor.
+ * For PHP4 backward compatibility.
+ *
+ * @copydoc __construct()
+ * @see __construct()
+ */
+ function MLIB_Widget_Window($style)
+ {
+ $this->__construct($style);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param style Style selected for the window.
+ * @todo Add an example.
+ */
+ function __constructor($style)
+ {
+ $this->style = $style;
+ }
+
+ /**
+ * Converts the widget to a string that is human readable.
+ *
+ * @return The Widget "converted" to a string.
+ * @todo Add an example.
+ */
+ function __toString()
+ {
+ return $tpl->parse($this->style, $this->properties);
+ }
+
+ /**
+ * Sets a property.
+ *
+ * @param key Name of the property.
+ * @param value Value of the property.
+ *
+ * @todo Add an example.
+ */
+ function setProperty($key, $value)
+ {
+ //FixMe Tiene que haber una manera mejor de hacer esto.
+ $this->properties[$key][] = $value;
+ }
+
+ /**
+ * Removes a property and returns the property value.
+ *
+ * @param key Name of the property.
+ *
+ * @return PropValue.
+ */
+ function removeProperty($key)
+ {
+ $value = $this->properties[$key];
+ unset($this->properties[$key]);
+ return $value;
+ }
+
+ /**
+ * Gets a propertie value.
+ *
+ * @param key Name of the property.
+ *
+ * @return PropValue.
+ */
+ function getProperty($key)
+ {
+ return $this->properties[$key];
+ }
+}
+?>
\ No newline at end of file