1<?php
2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
3
4/**
5 * An abstract base class for QuickForm renderers
6 *
7 * PHP versions 4 and 5
8 *
9 * LICENSE: This source file is subject to version 3.01 of the PHP license
10 * that is available through the world-wide-web at the following URI:
11 * http://www.php.net/license/3_01.txt If you did not receive a copy of
12 * the PHP License and are unable to obtain it through the web, please
13 * send a note to license@php.net so we can mail you a copy immediately.
14 *
15 * @category    HTML
16 * @package     HTML_QuickForm
17 * @author      Alexey Borzov <avb@php.net>
18 * @copyright   2001-2011 The PHP Group
19 * @license     http://www.php.net/license/3_01.txt PHP License 3.01
20 * @version     CVS: $Id$
21 * @link        http://pear.php.net/package/HTML_QuickForm
22 */
23
24/**
25 * An abstract base class for QuickForm renderers
26 *
27 * The class implements a Visitor design pattern
28 *
29 * @category    HTML
30 * @package     HTML_QuickForm
31 * @author      Alexey Borzov <avb@php.net>
32 * @version     Release: 3.2.16
33 * @since       3.0
34 * @abstract
35 */
36class HTML_QuickForm_Renderer
37{
38   /**
39    * Constructor
40    *
41    * @access public
42    */
43    function HTML_QuickForm_Renderer()
44    {
45    } // end constructor
46
47   /**
48    * Called when visiting a form, before processing any form elements
49    *
50    * @param    HTML_QuickForm  a form being visited
51    * @access   public
52    * @return   void
53    * @abstract
54    */
55    function startForm(&$form)
56    {
57        return;
58    } // end func startForm
59
60   /**
61    * Called when visiting a form, after processing all form elements
62    *
63    * @param    HTML_QuickForm  a form being visited
64    * @access   public
65    * @return   void
66    * @abstract
67    */
68    function finishForm(&$form)
69    {
70        return;
71    } // end func finishForm
72
73   /**
74    * Called when visiting a header element
75    *
76    * @param    HTML_QuickForm_header   a header element being visited
77    * @access   public
78    * @return   void
79    * @abstract
80    */
81    function renderHeader(&$header)
82    {
83        return;
84    } // end func renderHeader
85
86   /**
87    * Called when visiting an element
88    *
89    * @param    HTML_QuickForm_element  form element being visited
90    * @param    bool                    Whether an element is required
91    * @param    string                  An error message associated with an element
92    * @access   public
93    * @return   void
94    * @abstract
95    */
96    function renderElement(&$element, $required, $error)
97    {
98        return;
99    } // end func renderElement
100
101   /**
102    * Called when visiting a hidden element
103    *
104    * @param    HTML_QuickForm_element  a hidden element being visited
105    * @access   public
106    * @return   void
107    * @abstract
108    */
109    function renderHidden(&$element)
110    {
111        return;
112    } // end func renderHidden
113
114   /**
115    * Called when visiting a raw HTML/text pseudo-element
116    *
117    * Only implemented in Default renderer. Usage of 'html' elements is
118    * discouraged, templates should be used instead.
119    *
120    * @param    HTML_QuickForm_html     a 'raw html' element being visited
121    * @access   public
122    * @return   void
123    * @abstract
124    */
125    function renderHtml(&$data)
126    {
127        return;
128    } // end func renderHtml
129
130   /**
131    * Called when visiting a group, before processing any group elements
132    *
133    * @param    HTML_QuickForm_group    A group being visited
134    * @param    bool                    Whether a group is required
135    * @param    string                  An error message associated with a group
136    * @access   public
137    * @return   void
138    * @abstract
139    */
140    function startGroup(&$group, $required, $error)
141    {
142        return;
143    } // end func startGroup
144
145   /**
146    * Called when visiting a group, after processing all group elements
147    *
148    * @param    HTML_QuickForm_group    A group being visited
149    * @access   public
150    * @return   void
151    * @abstract
152    */
153    function finishGroup(&$group)
154    {
155        return;
156    } // end func finishGroup
157} // end class HTML_QuickForm_Renderer
158?>
159