Login   Register  
PHP Classes
elePHPant
Icontem

File: ide/autocompleter.helper.google.noinc.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Tom Schaefer  >  d3Google  >  ide/autocompleter.helper.google.noinc.php  >  Download  
File: ide/autocompleter.helper.google.noinc.php
Role: Auxiliary script
Content type: text/plain
Description: do not include this file. it is for IDE only to support auto-completion
Class: d3Google
Generate JavaScript to show Google charts and maps
Author: By
Last change:
Date: 1 year ago
Size: 124,020 bytes
 

Contents

Class file image Download
<?php 


class google_base{
	/**
	 * @var google_visualization $visualization
	 */
	public $visualization;
	/**
	 * @var google_maps $maps
	 */
	public $maps;
	
	public function setOnLoadCallback($closure){}
	public function load($type, $version, $config){}
}

class google_visualization{
	
	/**
	 * This method takes in a 2-dimensional array and converts it to a DataTable.
	 * The column data types are determined automatically by the data submitted. 
	 * This method does not support the use of Date or DateTime values, and also 
	 * does not support use of the JavaScript literal cell object with f or v values: 
	 * <code>{v: 3.0, f: 'Three'}</code>. If you need to specify custom cell values, 
	 * or a formatted value, or Date/DateTime value, 
	 * use <i>DataTable.addRow()</i>/<i>DataTable.addRows()</i> or <i>DataTable.setValue()</i>.
	 * <strong>Syntax</strong>
	 * <code>google.visualization.arrayToDataTable(twoDArray, opt_firstRowIsData)</code>
	 * <i>twoDArray</i>
	 * A two-dimensional array, where each row represents a row in the data table. 
	 * If <i>opt_firstRowIsData</i> is false (the default), the first row will be interpreted as header labels. 
	 * The data types of each column are interpreted automatically from the data given. If a cell 
	 * has no value, specify a null or empty value as appropriate. You cannot use Date or DateTime values, 
	 * or JavaScript literal object notation for cell values.
	 * <i>opt_firstRowIsData</i>
	 * Whether the first row defines a header row or not. If true, all rows are assumed to be data. 
	 * If false, the first row is assumed to be a header row, and the values are assigned as column labels. 
	 * Default is false.
	 * 
	 * @see https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable
	 * 
	 * @return google_visualization_DataTable
	 */
	public function arrayToDataTable(){}
	
	/**
	 * This method creates a chart in a single call. The advantage of using this method is that it requires slightly less code, and you can serialize and save visualizations as text strings for reuse. This method does not return a handle to the created chart, so you cannot assign method listeners to catch chart events.
	 * <i>chart_JSON_or_object</i> Either a JSON literal string or a JavaScript object, with the following properties (case-sensitive): 
	 * <table>
   * <tbody><tr>
   * <th scope="col">Property</th>
   * <th scope="col">Type</th>
   * <th scope="col">Required</th>
   * <th scope="col">Default</th>
   * <th scope="col">Description</th>
   * </tr>
   * <tr>
   *  <td>chartType</td>
   *  <td>String</td>
   *  <td>Required</td>
   *  <td>none</td>
   *  <td>The class name of the visualization. The <code>google.visualization</code> package name can be omitted for Google charts.  If the appropriate visualization library has not already been loaded, this method will load the library for you if this is a Google visualization; you must load third party visualizations explicitly. <strong>Examples:</strong> <code>Table</code>, <code>PieChart</code>, <code>example.com.CrazyChart</code>.</td>
   *</tr>
   *<tr>
   *  <td>containerId</td>
   *  <td>String</td>
   *  <td>Required</td>
   *  <td>none</td>
   *  <td>The ID of the DOM element on your page that will host the visualization.</td>
   * </tr>
   * <tr>
   *  <td>options</td>
   *  <td>Object</td>
   *  <td>Optional</td>
   *  <td>none</td>
   *  <td>An object describing the options for the visualization. You can use either JavaScript literal notation, or provide a handle to the object. <strong>Example:</strong> <code>"options": {"width": 400, "height": 240, "is3D": true, "title": "Company Performance"}</code></td>
   * </tr>
   * <tr>
   *  <td>dataTable</td>
   *  <td>Object</td>
   *  <td>Optional</td>
   *  <td>None</td>
   *  <td>A <code>DataTable</code> used to populate the visualization. This can be a literal JSON string representation of a DataTable, as described <a href="#dataparam">above</a>, or a handle to a populated <code>google.visualization.DataTable</code> object, or a 2-dimensional array like that accepted by <code><a href="#google.visualization.arraytodatatable">arrayToDataTable(opt_firstRowIsData=false)</a></code>. You must specify either this property or the <code>dataSourceUrl</code> property.</td>
   * </tr>
   * <tr>
   *  <td>dataSourceUrl</td>
   *  <td>String</td>
   *  <td>Optional</td>
   *  <td>None</td>
   *  <td> A data source query to populate the chart data (for example, a <a href="/chart/interactive/docs/spreadsheets">Google Spreadsheet</a>). You must specify either this property or the <code>dataTable</code> property.</td>
   * </tr>
   * <tr>
   *  <td>query</td>
   *  <td>String</td>
   *  <td>Optional</td>
   *  <td>None</td>
   *  <td>If specifying <code>dataSourceUrl</code>, you can optionally specify a SQL-like query string using the <a href="/chart/interactive/docs/querylanguage">Visualization query language</a> to filter or manipulate the data.</td>
   * </tr>
   * <tr>
   *  <td>refreshInterval</td>
   *  <td>Number</td>
   *  <td>Optional</td>
   *  <td>None</td>
   *  <td>How often, in seconds, the visualization should refresh its query source. Use this only when specifying <code>dataSourceUrl</code>.</td>
   * </tr>
   * <tr>
   *  <td>view</td>
   *  <td>Object OR Array</td>
   *  <td>Optional</td>
   *  <td>None</td>
   *  <td>Sets a <code>DataView</code> initializer object, which acts as a filter over the underlying data, as defined by either the <code>dataTable</code> or <code>dataSourceUrl</code> parameter. You can pass in either a string or <code>DataView</code> initializer object, like that returned by <code><a href="#DataView_toJSON">dataview.toJSON()</a></code>. <strong>Example:</strong> <code>"view": {"columns": [1, 2]}</code> You can also pass in an array of <code>DataView</code> initializer objects, in which case the first <code>DataView</code> in the array is applied to the underlying data to create a new data table, and the second <code>DataView</code> is applied to the data table resulting from application of the first <code>DataView</code>, and so on.</td>
   * </tr>
   * </tbody></table>
	 * <br>
	 * @example
   * <pre>echo func()->add(
   *         google()->visualization->drawChart(
   *             obj(array(
   *             "containerId"       => "visualization_div",
   *             "dataSourceUrl"     => "https://spreadsheets.google.com/a/google.com/tq?key=pCQbetd-CptGXxxQIG7VFIQ&pub=1",
   *             "query"             => "SELECT A,D WHERE D > 100 ORDER BY D",
   *             "refreshInterval"   => 5,
   *             "chartType"         => "Table",
   *             "options"           => array(
   *                 "alternatingRowStyle" => true,
   *                 "showRowNumber"  => true
   *             )
   *         ) ) 
   *     ) )->getVar("drawVisualization");
   * </pre>
	 * @param mixed $chart_JSON_or_object
	 */
	public function drawChart($chart_JSON_or_object){}
	
	/**
	 * Represents a two-dimensional, mutable table of values. To make a read-only copy of a DataTable (optionally filtered to show specific values, rows, or columns), create a DataView.
	 * Each column is assigned a data type, plus several optional properties including an ID, label, and pattern string.
	 * In addition, you can assign custom properties (name/value pairs) to any cell, row, column, or the entire table. Some visualizations support specific custom properties; for example the Table visualization supports a cell property called 'style', which lets you assign an inline CSS style string to the rendered table cell. A visualization should describe in its documentation any custom properties that it supports.
	 * @see https://developers.google.com/chart/interactive/docs/reference#DataTable
	 * @param $opt_data [Optional] Data used to initialize the table. This can either be the JSON returned by calling DataTable.toJSON() on a populated table, or a JavaScript object containing data used to initialize the table. The structure of the JavaScript literal object is described here. If this parameter is not supplied, a new, empty data table will be returned.
	 * @param $opt_version [Optional] A numeric value specifying the version of the wire protocol used. This is only used by Chart Tools Datasource implementors. The current version is 0.6.
	 * @return google_visualization_DataTable
	 * 
	 * @example 
	 * <pre>
   */
  /**
   * // example 1
   * 
   * echo google()->visualization->DataTable(obj(array(
   * 
   * 	"cols" => array(
   * 		array("id" => 'task', "label" => 'Task', "type" => 'string'),
   * 		array("id" => 'hours', "label" => 'Hours per Day', "type" => 'number')
   * 	),
   * 	"rows" => array(
   * 		array("c" => array(array("v" => 'Work'), array("v" => 11))),
   * 		array("c" => array(array("v" => 'Eat'), array("v" => 2))),
   * 		array("c" => array(array("v" => 'Commute'), array("v" => 2))),
   * 		array("c" => array(array("v" => 'Watch TV'), array("v" => 2))),
   * 		array("c" => array(array("v" => 'Sleep'), array("v" => 7, "f" => '7.000')))
   * 	)
   * 	
   * ) ) );
   * 
   * // example 2
   * $data = google()->visualization->DataTable()->createVar("data");
   * stack()->add($data);
   * stack()->add(google(true, $data->getVar())->addColumn("string", "Task"));
   * stack()->add(google(true, $data->getVar())->addColumn("number", "Hours per Day"));
   * stack()->add(google(true, $data->getVar())->addRows(array(
   * 
   * 	array('Work', 11),
   * 	array('Eat', 2),
   * 	array('Commute', 2),
   * 	array('Watch TV', 2),
   * 	array('Sleep', array("v" => 7, "f" => '7.000') )
   * 
   * )));
   * 
   * echo stack();
   * </pre>
	 *
	 *
     * <table>
     *       <tbody><tr>
     *         <th>Method</th>
     *         <th>Return Value</th>
     *         <th>Description</th>
     *       </tr>
     *       <tr>
     *         <td><p><a name="DataTable_addColumn" id="DataTable_addColumn"></a><code>addColumn(type, opt_label, opt_id)</code></p>
     *           <p>OR</p>
     *           <p><code>addColumn(description_object)</code></p></td>
     *         <td>Number</td>
     *         <td><p>Adds a new column to the data table, and returns the index of the
     *             new column. All the cells of the new column are assigned a <code>null</code> value. This method has two signatures:</p>
     *           <p>First signature has the following parameters:</p>
     *           <ul>
     *             <li> <code>type</code> - A string with the data type of the values
     *               of the column. The type can be one of the following: <code>'string'
     *               'number' 'boolean' 'date' 'datetime' 'timeofday'.</code></li>
     *             <li><code>opt_label</code> - [<em>Optional</em>] A string with the label of the column.
     *               The column label is typically displayed as part of the visualization,
     *               for example as a column header in a table, or as a legend label in
     *               a pie chart. If not value is specified, an empty string is assigned. </li>
     *             <li><code>opt_id</code>  - [<em>Optional</em>] A string with a unique identifier for the
     *               column. If not value is specified, an empty string is assigned.</li>
     *           </ul>
     *           <p>Second signature has a single object parameter with the following members:</p>
     *           <ul>
     *             <li><code>type</code> - A string describing the column data type. Same values as <code>type</code> above.</li>
     *             <li><code>label</code> - [<em>Optional, string</em>] A label for the column.</li>
     *             <li><code>id</code> - [<em>Optional, string</em>] An ID for the column.</li>
     *             <li><code>role</code> - [<em>Optional, string</em>] A <a href="/chart/interactive/docs/roles">role</a> for the column.</li>
     *             <li><code>pattern</code> - [<em>Optional, string</em>] A number (or date) format string specifying how to display the column value.</li>
     *           </ul>
     *         <p><b>See also:</b> <a href="#DataTable_getColumnId">getColumnId</a>, <a href="#DataTable_getColumnLabel">getColumnLabel</a>, <a href="#DataTable_getColumnType">getColumnType</a>, <a href="#DataTable_insertColumn">insertColumn</a>, <a href="#DataTable_getColumnRole">getColumnRole</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="addrow" id="addrow"></a><code>addRow(opt_cellArray)</code></td>
     *         <td>Number</td>
     *         <td><p>Adds a new row to the data table, and returns the index of the new
     *             row.</p>
     *           <ul>
     *             <li><code>opt_cellArray</code> [<em>optional</em>] A row object, in JavaScript
     *               notation, specifying the data for the new row. If this parameter is
     *               not included, this method will simply add a new, empty row to the end
     *               of the table. This parameter is an array of  cell values: if you only
     *               want to specify a value for a cell, just give the cell value (e.g.,
     *               55, 'hello'); if you want to specify a formatted value and/or
     *               properties for the cell, you will have to use a <a href="#cell_object">cell
     *               objects</a> (e.g., {v:55, f:'Fifty-five', p:'USD'}). You can mix
     *               simple values and cell objects in the same method call). Use <code>null</code> or
     *               an empty array entry for an empty cell.</li>
     *           </ul>
     *           <p><strong>Examples:</strong></p>
     *           <pre>data.addRow();  // Add an empty row
     * data.addRow(['Hermione', new Date(1999,0,1)]); // Add a row with a string and a date value.
     * 
     * // Add a row with two cells, the second with a formatted value.
     * data.addRow(['Hermione', {v: new Date(1999,0,1),
     *                           f: 'January First, Nineteen ninety-nine'}]);
     * 
     * data.addRow(['Col1Val', null, 'Col3Val']); // Second column is undefined.
     * data.addRow(['Col1Val', , 'Col3Val']);     // Same as previous.
     * </pre></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_addRows"></a><code>addRows(numOrArray)</code></td>
     *         <td>Number</td>
     *         <td><p>Adds new rows to the data table, and returns the index of the last
     *             added row. You can call this method to create new empty rows, or with
     *             data used to populate the rows, as described below.</p>
     *           <ul>
     *             <li> <code>numOrArray</code> - Either a number or an array:
     *               <ul>
     *                 <li><strong>Number</strong> - A number specifying how many new, unpopulated
     *                   rows to add.</li>
     *                 <li><strong>Array</strong> - An array of <a href="#rowsproperty">row</a> objects
     *                   used to populate a set of new rows. Each row is an object as described
     *                   in <code>addRow()</code>. Use<code> null</code> or an
     *                   empty array entry for an empty cell.</li>
     *               </ul>
     *             </li>
     *           </ul>
     *           <p><strong>Example:</strong></p>
     *           <pre>data.addRows([['Ivan', new Date(1977,2,28)],
     *   ['Igor', new Date(1962,7,5)],
     *   ['Felix', new Date(1983,11,17)],
     *   ['Bob', null]]); // No date set for Bob.</pre>
     *           <p><b>See also:</b> <a href="#DataTable_insertRows">insertRows</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_clone"></a><code>clone()</code></td>
     *         <td><a href="#DataTable">DataTable</a></td>
     *         <td>Returns a clone of the data table. The result is a deep copy of the data
     *           table except for the <a href="#DataTable_getProperty">cell properties</a>, <a href="#DataTable_getRowProperty">row
     *           properties</a>, <a href="#DataTable_getTableProperty">table properties</a> and <a href="#DataTable_getColumnProperty">column
     *           properties</a>, which are shallow copies; this means that non-primitive
     *           properties are copied by reference, but primitive properties are copied
     *           by value.</td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnId"></a><code>getColumnId(columnIndex)</code></td>
     *         <td>String</td>
     *         <td>Returns the identifier of a given column specified by the column index
     *           in the underlying table.<br>
     *           For data tables that are retrieved by queries, the column identifier is
     *           set by the data source, and can be used to refer to columns when using
     *           the <a href="/chart/interactive/docs/querylanguage">query language</a>. <br>
     *           <b>See also:</b> <a href="#Query_setQuery">Query.setQuery</a> </td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnLabel"></a><code>getColumnLabel(columnIndex)</code></td>
     *         <td>String</td>
     *         <td>Returns the label of a given column specified by the column index in
     *           the underlying table.<br>
     *           The column label is typically displayed as part of the visualization. For
     *           example the column label can be displayed as a column header in a table,
     *           or as the legend label in a pie chart. <br>
     *           For data tables that are retrieved by queries, the column label is set
     *           by the data source, or by the <code>label</code> clause of the <a href="/chart/interactive/docs/querylanguage#Label">query
     *           language</a>. <br>
     *           <b>See also:</b> <a href="#DataTable_setColumnLabel">setColumnLabel</a> </td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnPattern"></a><code>getColumnPattern(columnIndex)</code></td>
     *         <td>String</td>
     *         <td><p>Returns the formatting pattern used to format the values of the specified
     *             column.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method.</li>
     *           </ul>
     *           <p> For data tables that are retrieved by queries, The column pattern is
     *             set by the data source, or by the <code>format</code> clause of the query
     *             language. An example of a pattern is <code>'#,##0.00'</code>. For more
     *             on patterns see the <a href="/chart/interactive/docs/querylanguage#Format">query language
     *             reference</a>.</p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnProperties" id="DataTable_getColumnProperties"></a><code>getColumnProperties(columnIndex)</code></td>
     *         <td>Object</td>
     *         <td><p>Returns a map of all properties for the specified column. Note that
     *             the properties object is returned by reference, so changing values in
     *             the retrieved object changes them in the <code>DataTable</code>.</p>
     *           <ul>
     *             <li><code>columnIndex</code> is the numeric index of the column to retrieve
     *               properties for.</li>
     *           </ul></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnProperty" id="DataTable_getColumnProperty"></a><code>getColumnProperty(columnIndex,
     *             name)</code></td>
     *         <td>Auto</td>
     *         <td><p>Returns the value of a named property, or <code>null</code> if no
     *             such property is set for the specified column. The return type varies,
     *             depending on the property.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method.</li>
     *             <li><code>name</code> is the property name, as a string. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setColumnProperty">setColumnProperty</a> <a href="#DataTable_setColumnProperties">setColumnProperties</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnRange"></a><code>getColumnRange(columnIndex)</code></td>
     *         <td>Object</td>
     *         <td><p>Returns the minimal and maximal values of values in a specified column.
     *             The returned object has properties <code>min</code> and <code>max</code>.
     *             If the range has no values, <code>min</code> and <code>max</code> will
     *             contain <code>null</code>.</p>
     *           <p> <code>columnIndex</code> should be a number greater than or equal to
     *             zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method.</p></td>
     *       </tr>
     *       <tr>
     *         <td><code><a name="DataTable_getColumnRole"></a>getColumnRole(columnIndex)</code></td>
     *         <td>String</td>
     *         <td>Returns the <a href="/chart/interactive/docs/roles">role</a> of the specified column.</td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getColumnType"></a><code>getColumnType(columnIndex)</code></td>
     *         <td>String</td>
     *         <td><p>Returns the type of a given column specified by the column index.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *           </ul>
     *           <p> The returned column type can be one of the following: <code>'string'
     *               'number' 'boolean' 'date' 'datetime' 'timeofday'</code></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getDistinctValues"></a><code>getDistinctValues(columnIndex)</code></td>
     *         <td>Array of objects</td>
     *         <td><p>Returns the unique values in a certain column, in ascending order.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *           </ul>
     *           <p> The type of the returned objects is the same as that returned by the
     *           <code><a href="#DataTable_getValue">getValue</a></code> method.</p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getFilteredRows"></a><code>getFilteredRows(filters)</code></td>
     *         <td>Array of numbers</td>
     *         <td><p>Returns the row indexes for rows that match all of the given filters.
     *             The indexes are returned in ascending order. The output of this method
     *             can be used as input to <code><a href="#DataView_setRows">DataView.setRows()</a></code> to
     *             change the displayed set of rows in a visualization.</p>
     *           <p> <code>filters</code> - An array of objects that describe an acceptable
     *             cell value. A row index is returned by this method if it matches <em>all</em> of
     *             the given filters. Each filter is an object with a numeric <code>column</code> property
     *             that specifies the index of the column in the row to assess, plus one
     *             of the following:</p>
     *           <ul>
     *             <li>A <code>value</code> property with a value that must be matched exactly
     *               by the cell in the specified column. The value must be the same type
     *               as the column; <em>or</em></li>
     *             <li>One or both of the following properties, the same type as the column
     *               being filtered:
     *               <ul>
     *                 <li><code>minValue</code> - A minimum value for the cell. The cell
     *                   value in the specified column must be greater than or equal to
     *                   this value.</li>
     *                 <li><code>maxValue</code> - A maximum value for the cell. The cell
     *                   value in the specified column must be less than or equal to this
     *                   value.</li>
     *               </ul>
     *             </li>
     *           </ul>
     *           <p><strong>Example</strong>: <code>getFilteredRows([{column: 3, value:
     *               42}, {column: 2, minValue: 'bar', maxValue: 'foo'}])</code> returns
     *               an array containing, in ascending order, the indexes of all rows for
     *               which the fourth column (column index 3) is exactly 42, and the third
     *               column (column index 2) is between 'bar' and 'foo' (inclusive).</p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getFormattedValue"></a><code>getFormattedValue(rowIndex,
     *               columnIndex)</code></td>
     *         <td>String</td>
     *         <td><p>Returns the formatted value of the cell at the given row and column
     *             indexes.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>ColumnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *           </ul>
     *           <p> For more on formatting column values see the <a href="/chart/interactive/docs/querylanguage#Format">query
     *               language reference</a>.</p>
     *           <p><b>See also:</b> <a href="#DataTable_setFormattedValue">setFormattedValue</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getNumberOfColumns"></a><code>getNumberOfColumns()</code></td>
     *         <td>Number</td>
     *         <td>Returns the number of columns in the table.</td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getNumberOfRows"></a><code>getNumberOfRows()</code></td>
     *         <td>Number</td>
     *         <td>Returns the number of rows in the table.</td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getProperties" id="DataTable_getProperties"></a><code>getProperties(rowIndex,
     *             columnIndex)</code></td>
     *         <td>Object</td>
     *         <td><p>Returns a map of all the properties for the specified cell. Note that
     *             the properties object is returned by reference, so changing values in
     *             the retrieved object changes them in the <code>DataTable</code>.</p>
     *           <ul>
     *             <li><code>rowIndex</code> is the cell's row index.</li>
     *             <li><code>columnIndex</code> is the cell's column index.</li>
     *           </ul></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getProperty"></a><code>getProperty(rowIndex, columnIndex,
     *             name)</code></td>
     *         <td>Auto</td>
     *         <td><p>Returns the value of a named property, or <code>null</code> if no
     *             such property is set for the specified cell. The return type varies,
     *             depending on the property.</p>
     *           <ul>
     *             <li> <code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>name</code> is a string with the property name. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setCell">setCell</a> <a href="#DataTable_setProperties">setProperties</a> <a href="#DataTable_setProperty">setProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getRowProperties" id="DataTable_getRowProperties"></a><code>getRowProperties(rowIndex)</code></td>
     *         <td>Object</td>
     *         <td><p>Returns a map of all properties for the specified row. Note that the
     *             properties object is returned by reference, so changing values in the
     *             retrieved object changes them in the <code>DataTable</code>.</p>
     *           <ul>
     *             <li><code>rowIndex</code> is the index of the row to retrieve properties
     *               for.</li>
     *           </ul></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getRowProperty"></a><code>getRowProperty(rowIndex,
     *             name)</code></td>
     *         <td>Auto</td>
     *         <td><p>Returns the value of a named property, or <code>null</code> if no
     *             such property is set for the specified row. The return type varies, depending
     *             on the property.</p>
     *           <ul>
     *             <li> <code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method.</li>
     *             <li> <code>name</code> is a string with the property name. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setRowProperty">setRowProperty</a> <a href="#DataTable_setRowProperties">setRowProperties</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getSortedRows"></a><code>getSortedRows(sortColumns)</code></td>
     *         <td>Array of numbers</td>
     *         <td><p>Returns a sorted version of the table without modifying the order
     *             of the underlying data. To permanently sort the underlying data, call <code><a href="#DataTable_sort">sort()</a></code>.
     *             You can specify sorting in a number of ways, depending on the type you
     *             pass in to the <code>sortColumns</code> parameter:</p>
     *           <ul>
     *             <li> <strong>A single number</strong> specifies the index of the column
     *               to sort by. Sorting will be in ascending order. <strong>Example</strong>: <code>sortColumns(3)</code> will
     *               sort by the 4th column, in ascending order.</li>
     *             <li> <strong>A single object</strong> that contains the number of the
     *               column index to sort by, and an optional boolean property <code>desc</code>.
     *               If <code>desc </code>is set to true, the specific column will be sorted
     *               in descending order; otherwise, sorting is in ascending order. <strong>Examples</strong>: <code>sortColumns({column:
     *               3})</code> will sort by the 4th column, in ascending order; <code>sortColumns({column:
     *               3, desc: true})</code> will sort by the 4th column, in descending order.</li>
     *             <li> <strong>An array of numbers</strong> of the column indexes by which
     *               to sort. The first number is the primary column by which to sort, the
     *               second one is the secondary, and so on. This means that when two values
     *               in the first column are equal, the values in the next column are compared,
     *               and so on. <strong>Example</strong>: <code>sortColumns([3, 1, 6])</code> will
     *               sort first by the 4th column (in ascending order), then by the 2nd
     *               column (in ascending order), and then by the 7th column (in ascending
     *               order).</li>
     *             <li><strong> An array of objects</strong>, each one with the number of
     *               the column index to sort by, and an optional boolean property <code>desc</code>.
     *               If <code>desc </code>is set to true, the specific column will be sorted
     *               in descending order (the default is ascending order). The first object
     *               is the primary column by which to sort, the second one is the secondary,
     *               and so on. This means that when two values in the first column are
     *               equal, the values in the next column are compared, and so on. <strong>Example</strong>: <code>sortColumn([{column:
     *               3}, {column: 1, desc: true}, {column: 6, desc: true}])</code> will
     *               sort first by the 4th column (in ascending order), then column 2 in
     *               descending order, and then column 7 in descending order.</li>
     *           </ul>
     *           <p>The returned value is an array of numbers, each number is an index of
     *             a <code>DataTable</code> row. Iterating on the <code>DataTable</code> rows
     *             by the order of the returned array will result in rows ordered by the
     *             specified <code>sortColumns</code>. The output can be used as input to <code><a href="#DataView_setRows">DataView.setRows()</a></code> to
     *             quickly change the displayed set of rows in a visualization.</p>
     *           <p>Note that the sorting is guaranteed to be stable: this means that if
     *             you sort on equal values of two rows, the same sort will return the rows
     *             in the same order every time.<br>
     *             <b>See also:</b> <a href="#DataTable_sort">sort</a></p>
     *           <p> <strong>Example</strong>: To iterate on rows ordered by the third column,
     *             use:</p>
     *           <pre>var rowInds = data.getSortedRows([{column: 2}]);
     * for (var i = 0; i &lt; rowInds.length; i++) {
     *   var v = data.getValue(rowInds[i], 2);
     * }
     *         </pre>        </td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getTableProperties" id="DataTable_getTableProperties"></a><code>getTableProperties</code></td>
     *         <td>Object</td>
     *         <td>Returns a map of all properties for the table.</td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getTableProperty"></a><code>getTableProperty(name)</code></td>
     *         <td>Auto</td>
     *         <td><p>Returns the value of a named property, or <code>null</code> if no
     *             such property is set for the table. The return type varies, depending
     *             on the property.</p>
     *           <ul>
     *             <li><code>name</code> is a string with the property name. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setTableProperties">setTableProperties</a> <a href="#DataTable_setTableProperty">setTableProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_getValue"></a><code>getValue(rowIndex, columnIndex)</code></td>
     *         <td>Object</td>
     *         <td><p>Returns the value of the cell at the given row and column indexes.</p>
     *           <ul>
     *             <li> <code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *           </ul>
     *           <p> The type of the returned value depends on the column type (see <a href="#DataTable_getColumnType">getColumnType</a>):</p>
     *           <ul>
     *             <li>If the column type is 'string', the value is a string.</li>
     *             <li>If the column type is 'number', the value is a number.</li>
     *             <li>If the column type is 'boolean', the value is a boolean.</li>
     *             <li>If the column type is 'date' or 'datetime', the value is a Date object.</li>
     *             <li>If the column type is 'timeofday', the value is an array of four
     *               numbers: [hour, minute, second, millisenconds].</li>
     *             <li>If the column value is a null value, regardless of the column type,
     *               the returned value is <code>null</code>.</li>
     *           </ul></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_insertColumn"></a><code>insertColumn(columnIndex,
     *             type [,label [,id]])</code></td>
     *         <td>None</td>
     *         <td><p>Inserts a new column to the data table, at the specifid index. All
     *             existing columns at or after the specified index are shifted to a higher
     *             index.</p>
     *           <ul>
     *             <li><code>columnIndex</code> is a number with the required index of the
     *               new column. </li>
     *             <li><code>type</code> should be a string with the data type of the values
     *               of the column. The type can be one of the following: <code>'string'
     *               'number' 'boolean' 'date' 'datetime' 'timeofday'.</code> </li>
     *             <li><code>label</code> should be a string with the label of the column.
     *               The column label is typically displayed as part of the visualization,
     *               for example as a column header in a table, or as a legend label in
     *               a pie chart. If no value is specified, an empty string is assigned. </li>
     *             <li><code>id</code> should be a string with a unique identifier for the
     *               column. If no value is specified, an empty string is assigned. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_addColumn">addColumn</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_insertRows"></a><code>insertRows(rowIndex, numberOrArray)</code></td>
     *         <td>None</td>
     *         <td><p>Insert the specified number of rows at the specified row index.</p>
     *           <ul>
     *             <li><code>rowIndex</code> is the index number where to insert the new
     *               row(s). Rows will be added, starting at the index number specified.</li>
     *             <li><code>numberOrArray</code> is either a number of new, empty rows
     *               to add, or an array of one or more populated rows to add at the index.
     *               See <code><a href="#DataTable_addRows">addRows()</a></code> for the
     *               syntax for adding an array of row objects.</li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_addRows">addRows</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_removeColumn"></a><code>removeColumn(columnIndex)</code></td>
     *         <td>None</td>
     *         <td><p>Removes the column at the specified index.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number with a valid column index. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_removeColumns">removeColumns</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_removeColumns"></a><code>removeColumns(columnIndex,
     *             numberOfColumns)</code></td>
     *         <td>None</td>
     *         <td><p>Removes the specified number of columns starting from the column at
     *             the specified index.</p>
     *           <ul>
     *             <li><code>numberOfColumns</code> is the number of columns to remove. </li>
     *             <li><code>columnIndex</code> should be a number with a valid column index. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_removeColumn">removeColumn</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_removeRow"></a><code>removeRow(rowIndex)</code></td>
     *         <td>None</td>
     *         <td><p>Removes the row at the specified index.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number with a valid row index. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_removeRows">removeRows</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_removeRows"></a><code>removeRows(rowIndex, numberOfRows)</code></td>
     *         <td>None</td>
     *         <td><p>Removes the specified number of rows starting from the row at the
     *             specified index.</p>
     *           <ul>
     *             <li><code>numberOfRows</code> is the number of rows to remove. </li>
     *             <li><code>rowIndex</code> should be a number with a valid row index. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_removeRow">removeRow</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setCell"></a><code>setCell(rowIndex, columnIndex [,
     *             value [, formattedValue [, properties]]])</code></td>
     *         <td>None</td>
     *         <td><p>Sets the value, formatted value, and/or properties, of a cell.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>value</code> [<em>Optional</em>] is the value assigned to the
     *               specified cell. To avoid overwriting this value, set this parameter
     *               to <code>undefined</code>; to clear this value, set it to <code>null</code>.
     *               The type of the value depends on the column type (see <a href="#DataTable_getColumnType">getColumnType()</a>):
     *               <ul>
     *                 <li>If the column type is 'string', the value should be a string.</li>
     *                 <li>If the column type is 'number', the value should be a number.</li>
     *                 <li>If the column type is 'boolean', the value should be a boolean.</li>
     *                 <li>If the column type is 'date' or 'datetime', the value should
     *                   be a Date object.</li>
     *                 <li>If the column type is 'timeofday', the value should be an array
     *                   of four numbers: [hour, minute, second, millisenconds].</li>
     *               </ul>
     *             </li>
     *             <li><code>formattedValue</code> [<em>Optional</em>] is a string with
     *               the value formatted as a string. To avoid overwriting this value, set
     *               this parameter to <code>undefined</code>; to clear this value and have
     *               the API apply default formatting to <code>value</code> as needed, set
     *               it to <code>null</code>; to explicitly set an empty formatted value,
     *               set it to an empty string. The formatted value is typically used by
     *               visualizations to display value labels. For example the formatted value
     *               can appear as a label text within a pie chart. </li>
     *             <li><code>properties</code> [<em>Optional</em>] is an <code>Object</code> (a
     *               name/value map) with additional properties for this cell. To avoid
     *               overwriting this value, set this parameter to <code>undefined</code>;
     *               to clear this value, set it to <code>null</code>. Some visualizations
     *               support row, column, or cell properties to modify their display or
     *               behavior; see the visualization documentation to see what properties
     *               are supported.</li>
     *           </ul>
     *           <p><strong>See also:</strong> <a href="#DataTable_setValue">setValue()</a>, <a href="#DataTable_setFormattedValue">setFormattedValue()</a>, <a href="#DataTable_setProperty">setProperty()</a>, <a href="#DataTable_setProperties">setProperties()</a>.</p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setColumnLabel"></a><code>setColumnLabel(columnIndex,
     *             label)</code></td>
     *         <td>None</td>
     *         <td><p>Sets the label of a column.</p>
     *           <ul>
     *             <li> <code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>label</code> is a string with the label to assign to the column.
     *               The column label is typically displayed as part of the visualization.
     *               For example the column label can be displayed as a column header in
     *               a table, or as the legend label in a pie chart. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_getColumnLabel">getColumnLabel</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setColumnProperty"></a><code>setColumnProperty(columnIndex,
     *             name, value)</code></td>
     *         <td>None</td>
     *         <td><p>Sets a single column property. Some visualizations support row, column,
     *             or cell properties to modify their display or behavior; see the visualization
     *             documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>name</code> is a string with the property name. </li>
     *             <li><code>value</code> is a value of any type to assign to the specified
     *               named property of the specified column. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setColumnProperties">setColumnProperties</a> <a href="#DataTable_getColumnProperty">getColumnProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setColumnProperties"></a><code>setColumnProperties(columnIndex,
     *             properties)</code></td>
     *         <td>None</td>
     *         <td><p>Sets multiple column properties. Some visualizations support row,
     *             column, or cell properties to modify their display or behavior; see the
     *             visualization documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>properties</code> is an <code>Object</code> (name/value map)
     *               with additional properties for this column. If <code>null</code> is
     *               specified, all additional properties of the column will be removed. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setColumnProperty">setColumnProperty</a> <a href="#DataTable_getColumnProperty">getColumnProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setFormattedValue"></a><code>setFormattedValue(rowIndex,
     *             columnIndex, formattedValue)</code></td>
     *         <td>None</td>
     *         <td><p>Sets the formatted value of a cell.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>formattedValue</code> is a string with the value formatted
     *               for display. To clear this value and have the API apply default formatting
     *               to the cell value as needed, set it <em>formattedValue</em> <code>null</code>;
     *               to explicitly set an empty formatted value, set it to an empty string. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_getFormattedValue">getFormattedValue</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setProperty"></a><code>setProperty(rowIndex, columnIndex,
     *             name, value)</code></td>
     *         <td>None</td>
     *         <td><p>Sets a cell property. Some visualizations support row, column, or
     *             cell properties to modify their display or behavior; see the visualization
     *             documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method. </li>
     *             <li><code>name</code> is a string with the property name. </li>
     *             <li><code>value</code> is a value of any type to assign to the specified
     *               named property of the specified cell. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setCell">setCell</a> <a href="#DataTable_setProperties">setProperties</a> <a href="#DataTable_getProperty">getProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setProperties"></a><code>setProperties(rowIndex, columnIndex,
     *             properties)</code></td>
     *         <td>None</td>
     *         <td><p>Sets multiple cell properties. Some visualizations support row, column,
     *             or cell properties to modify their display or behavior; see the visualization
     *             documentation to see what properties are supported.</p>
     *           <ul>
     *             <li> <code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method.</li>
     *             <li> <code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method.</li>
     *             <li> <code>properties</code> is an <code>Object</code> (name/value map)
     *               with additional properties for this cell. If <code>null</code> is specified,
     *               all additional properties of the cell will be removed.</li>
     *           </ul>
     *           <p> <b>See also:</b> <a href="#DataTable_setCell">setCell</a> <a href="#DataTable_setProperty">setProperty</a> <a href="#DataTable_getProperty">getProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setRowProperty"></a><code>setRowProperty(rowIndex,
     *             name, value)</code></td>
     *         <td>None</td>
     *         <td><p>Sets a row property. Some visualizations support row, column, or cell
     *             properties to modify their display or behavior; see the visualization
     *             documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>name</code> is a string with the property name. </li>
     *             <li><code>value</code> is a value of any type to assign to the specified
     *               named property of the specified row. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setRowProperties">setRowProperties</a> <a href="#DataTable_getRowProperty">getRowProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setRowProperties"></a><code>setRowProperties(rowIndex,
     *             properties)</code></td>
     *         <td>None</td>
     *         <td><p>Sets multiple row properties. Some visualizations support row, column,
     *             or cell properties to modify their display or behavior; see the visualization
     *             documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method. </li>
     *             <li><code>properties</code> is an <code>Object</code> (name/value map)
     *               with additional properties for this row. If <code>null</code> is specified,
     *               all additional properties of the row will be removed. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setRowProperty">setRowProperty</a> <a href="#DataTable_getRowProperty">getRowProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setTableProperty"></a><code>setTableProperty(name,
     *             value)</code></td>
     *         <td>None</td>
     *         <td><p>Sets a single table property. Some visualizations support table, row,
     *             column, or cell properties to modify their display or behavior; see the
     *             visualization documentation to see what properties are supported.</p>
     *           <ul>
     *             <li><code>name</code> is a string with the property name. </li>
     *             <li><code>value</code> is a value of any type to assign to the specified
     *               named property of the table. </li>
     *           </ul>
     *           <p><b>See also:</b> <a href="#DataTable_setTableProperties">setTableProperties</a> <a href="#DataTable_getTableProperty">getTableProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setTableProperties"></a><code>setTableProperties(properties)</code></td>
     *         <td>None</td>
     *         <td><p>Sets multiple table properties. Some visualizations support table,
     *             row, column, or cell properties to modify their display or behavior;
     *             see the visualization documentation to see what properties are supported.</p>
     *           <ul>
     *             <li> <code>properties</code> is an <code>Object</code> (name/value map)
     *               with additional properties for the table. If <code>null</code> is specified,
     *               all additional properties of the table will be removed.</li>
     *           </ul>
     *           <p> <b>See also:</b> <a href="#DataTable_setTableProperty">setTableProperty</a> <a href="#DataTable_getTableProperty">getTableProperty</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_setValue"></a><code>setValue(rowIndex, columnIndex,
     *             value)</code></td>
     *         <td>None</td>
     *         <td><p>Sets the value of a cell. In addition to overwriting any existing
     *             cell value, this method will also clear out any formatted value and properties
     *             for the cell.</p>
     *           <ul>
     *             <li><code>rowIndex</code> should be a number greater than or equal to
     *               zero, and less than the number of rows as returned by the <code>getNumberOfRows()</code> method.</li>
     *             <li> <code>columnIndex</code> should be a number greater than or equal
     *               to zero, and less than the number of columns as returned by the <code>getNumberOfColumns()</code> method.
     *               This method does not let you set a formatted value for this cell; to
     *               do that, call <code><a href="#DataTable_setFormattedValue">setFormattedValue()</a></code>.</li>
     *             <li> <code>value</code> is the value assigned to the specified cell.
     *               The type of the returned value depends on the column type (see <a href="#DataTable_getColumnType">getColumnType</a>):
     *               <ul>
     *                 <li>If the column type is 'string', the value should be a string.</li>
     *                 <li>If the column type is 'number', the value should be a number.</li>
     *                 <li>If the column type is 'boolean', the value should be a boolean.</li>
     *                 <li>If the column type is 'date' or 'datetime', the value should
     *                   be a Date object.</li>
     *                 <li>If the column type is 'timeofday', the value should be an array
     *                   of four numbers: [hour, minute, second, millisenconds].</li>
     *                 <li>For any column type, the value can be set to <code>null</code>.</li>
     *               </ul>
     *             </li>
     *           </ul>
     *           <p>See also: <a href="#DataTable_setCell">setCell</a>, <a href="#DataTable_setFormattedValue">setFormattedValue</a>, <a href="#DataTable_setProperty"> setProperty</a>, <a href="#DataTable_setProperties">setProperties</a></p></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_sort"></a><code>sort(sortColumns)</code></td>
     *         <td>None</td>
     *         <td>Sorts the rows, according to the specified sort columns. The <code>DataTable</code> is
     *           modified by this method. See <code><a href="#DataTable_getSortedRows">getSortedRows()</a></code> for
     *           a description of the sorting details. This method does not return the sorted
     *           data.<br>
     *           <b>See also:</b> <a href="#DataTable_getSortedRows">getSortedRows</a> <br>
     *           <strong>Example</strong>: To sort by the third column and then by the second
     *           column, use: <code>data.sort([{column: 2}, {column: 1}]);</code></td>
     *       </tr>
     *       <tr>
     *         <td><a name="DataTable_toJSON" id="DataTable_toJSON"></a><code>toJSON()</code></td>
     *         <td>String</td>
     *         <td>Returns a JSON representation of the <code>DataTable</code> that can be passed into
     *           the <code>DataTable</code> <a href="#DataTable_literal_constructor_example">constructor</a>. For example:<pre>{"cols":[{"id":"Col1","label":"","type":"date"}],
     *   "rows":[
     *     {"c":[{"v":"a"},{"v":"Date(2010,10,6)"}]},
     *     {"c":[{"v":"b"},{"v":"Date(2010,10,7)"}]}
     *   ]
     * } </pre></td>
     *       </tr>
     * </tbody></table>	 
     */
	public function DataTable($opt_data, $opt_version){}
	/**
	 * 
	 * @param unknown_type $responseObj
	 * @return google_visualization_QueryResponse
	 */
	public function QueryResponse($responseObj){}
	/**
	 * 
	 * @param unknown_type $dataSourceUrl
	 * @param unknown_type $opt_options
	 * @return google_visualization_Query
	 */
	public function Query($dataSourceUrl, $opt_options){}
	/**
	 * @return google_visualization_errors
	 */
	public function errors(){}
	/**
	 * @return google_visualization_events
	 */
	public function events(){}
	/**
	 * A read-only view of an underlying DataTable. A DataView allows selection of only a subset of the columns and/or rows. It also allows reordering columns/rows, and duplicating columns/rows.
	 * 
   * 	<table>
   *       <tbody><tr>
   *         <th>Method</th>
   *         <th>Return Value</th>
   *         <th>Description</th>
   *       </tr>
   *       <tr>
   *         <td><ul>
   *             <li><code><a href="#DataTable_getColumnId">getColumnId</a></code></li>
   *             <li><code><a href="#DataTable_getColumnLabel">getColumnLabel</a></code></li>
   *             <li><code><a href="#DataTable_getColumnPattern">getColumnPattern</a></code></li>
   *             <li><code><a href="#DataTable_getColumnProperty">getColumnProperty</a></code></li>
   *             <li><code><a href="#DataTable_getColumnRange">getColumnRange</a></code></li>
   *             <li><code><a href="#DataTable_getColumnType">getColumnType</a></code></li>
   *             <li><code><a href="#DataTable_getDistinctValues">getDistinctValues</a></code></li>
   *             <li><code><a href="#DataTable_getFilteredRows">getFilteredRows</a></code></li>
   *             <li><code><a href="#DataTable_getFormattedValue">getFormattedValue</a></code></li>
   *             <li><code><a href="#DataTable_getNumberOfColumns">getNumberOfColumns</a></code></li>
   *             <li><code><a href="#DataTable_getNumberOfRows">getNumberOfRows</a></code></li>
   *             <li><code><a href="#DataTable_getProperty">getProperty</a></code></li>
   *             <li><code><a href="#DataTable_getProperties">getProperties</a></code></li>
   *             <li><code><a href="#DataTable_getRowProperty">getRowProperty</a></code></li>
   *             <li><code><a href="#DataTable_getSortedRows">getSortedRows</a></code></li>
   *             <li><code><a href="#DataTable_getTableProperty">getTableProperty</a></code></li>
   *             <li><code><a href="#DataTable_getValue">getValue</a></code></li>
   *         </ul></td>
   *         <td>See descriptions in <code>DataTable</code>.</td>
   *         <td> Same as the equivalent <code>DataTable</code> methods, except that row/column
   *           indexes refer to the index in the view and not in the underlying table/view.<code></code></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getTableColumnIndex"></a><code>getTableColumnIndex(viewColumnIndex)</code></td>
   *         <td>Number</td>
   *         <td><p>Returns the index in the underlying table (or view) of a given column
   *             specified by its index in this view. <code>viewColumnIndex</code> should
   *             be a number greater than or equal to zero, and less than the number of
   *             columns as returned by the <code>getNumberOfColumns()</code> method.
   *             Returns -1 if this is a <a href="#DataView_setColumns">generated column</a>.</p>
   *           <p> <strong>Example</strong>: If <code>setColumns([3, 1, 4])</code> was
   *             previously called, then <code>getTableColumnIndex(2)</code> will return <code>4</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getTableRowIndex"></a><code>getTableRowIndex(viewRowIndex)</code></td>
   *         <td>Number</td>
   *         <td><p>Returns the index in the underlying table (or view) of a given row
   *             specified by its index in this view. <code>viewRowIndex</code> should
   *             be a number greater than or equal to zero, and less than the number of
   *             rows as returned by the <code>getNumberOfRows()</code> method.</p>
   *           <p> <strong>Example</strong>: If <code>setRows([3, 1, 4])</code> was previously
   *             called, then <code>getTableRowIndex(2)</code> will return <code>4</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getViewColumnIndex"></a><code>getViewColumnIndex(tableColumnIndex)</code></td>
   *         <td>Number</td>
   *         <td><p>Returns the index in this view that maps to a given column specified
   *             by its index in the underlying table (or view). If more than one such
   *             index exists, returns the first (smallest) one. If no such index exists
   *             (the specified column is not in the view), returns -1. <code>tableColumnIndex</code> should
   *             be a number greater than or equal to zero, and less than the number of
   *             columns as returned by the <code>getNumberOfColumns()</code> method of
   *             the underlying table/view.</p>
   *           <p> <strong>Example</strong>: If <code>setColumns([3, 1, 4])</code> was
   *             previously called, then <code>getViewColumnIndex(4)</code> will return <code>2</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getViewColumns"></a><code>getViewColumns()</code></td>
   *         <td>Array of numbers</td>
   *         <td><p>Returns the columns in this view, in order. That is, if you call <code>setColumns</code> with
   *             some array, and then call <code>getViewColumns()</code> you should get
   *             an identical array.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getViewRowIndex"></a><code>getViewRowIndex(tableRowIndex)</code></td>
   *         <td>Number</td>
   *         <td><p>Returns the index in this view that maps to a given row specified
   *             by its index in the underlying table (or view). If more than one such
   *             index exists, returns the first (smallest) one. If no such index exists
   *             (the specified row is not in the view), returns -1. <code>tableRowIndex</code> should
   *             be a number greater than or equal to zero, and less than the number of
   *             rows as returned by the <code>getNumberOfRows()</code> method of the
   *             underlying table/view.</p>
   *           <p> <strong>Example</strong>: If <code>setRows([3, 1, 4])</code> was previously
   *             called, then <code>getViewRowIndex(4)</code> will return <code>2</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_getViewRows"></a><code>getViewRows()</code></td>
   *         <td>Array of numbers</td>
   *         <td><p>Returns the rows in this view, in order. That is, if you call <code>setRows</code> with
   *             some array, and then call <code>getViewRows()</code> you should get an
   *             identical array.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_hideColumns"></a><code>hideColumns(columnIndexes)</code></td>
   *         <td>none</td>
   *         <td><p>Hides the specified columns from the current view. <code>columnIndexes</code> is
   *             an array of numbers representing the indexes of the columns to hide.
   *             These indexes are the index numbers in the <em>underlying table/view</em>.
   *             The numbers in <code>columnIndexes</code> do not have to be in order
   *             (that is, [3,4,1] is fine). The remaining columns retain their index
   *             order when you iterate through them. Entering an index number for a column
   *             already hidden is not an error, but entering an index that does not exist
   *             in the underlying table/view will throw an error. To unhide columns,
   *             call <code>setColumns()</code>.</p>
   *           <p><strong>Example</strong>: If you have a table with 10 columns, and you
   *             call <code>setColumns([2,7,1,7,9])</code>, and then <code>hideColumns([7,9])</code>,
   *             the columns in the view will then be [2,1].</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_hideRows"></a><code>hideRows(min, max)</code></td>
   *         <td>None</td>
   *         <td><p>Hides all rows with indexes that lie between min and max (inclusive)
   *             from the current view. This is a convenience syntax for <code>hideRows(rowIndexes)</code> above.
   *             For example, <code>hideRows(5, 10)</code> is equivalent to <code>hideRows([5,
   *             6, 7, 8, 9, 10])</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_hideRows2"></a><code>hideRows(rowIndexes)</code></td>
   *         <td>None</td>
   *         <td><p>Hides the specified rows from the current view. <code>rowIndexes</code> is
   *             an array of numbers representing the indexes of the rows to hide. These
   *             indexes are the index numbers in the <em>underlying table/view</em>.
   *             The numbers in <code>rowIndexes</code> do not have to be in order (that
   *             is, [3,4,1] is fine). The remaining rows retain their index order. Entering
   *             an index number for a row already hidden is not an error, but entering
   *             an index that does not exist in the underlying table/view will throw
   *             an error. To unhide rows, call <code>setRows()</code>.</p>
   *           <p><strong>Example</strong>: If you have a table with 10 rows, and you
   *             call <code>setRows([2,7,1,7,9])</code>, and then <code>hideRows([7,9])</code>,
   *             the rows in the view will then be [2,1].</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_setColumns"></a><code>setColumns(columnIndexes)</code></td>
   *         <td>None</td>
   *         <td><p>Specifies which columns are visible in this view. Any columns not
   *             specified will be hidden. This is an array of column indexes in
   *             the underlying table/view, or calculated columns. If you don't call this
   *             method, the default is to show all columns. The array can also contain
   *             duplicates, to show the same column multiple times. Columns will be shown
   *             in the order specified.</p>
   *           <ul>
   *             <li><code>columnIndexes</code> - An array of numbers and/or objects (can be mixed):
   *               <ul>
   *                 <li><strong>Numbers</strong> specify the index of the source data column to include in the view. The data is brought through unmodified. If you need to explicitly define a role or additional column properties, specify an object with a <code>sourceColumn</code> property.</li>
   *                 <li><strong>Objects</strong> specify a <em>calculated column</em>. A calculated column
   *                   creates a value on the fly for each row and adds it to the view. The
   *                   object must have the following properties:
   *                   <ul>
   *                     <li><code>calc</code> [<em>function</em>] - A function that will be called for each row in the column to calculate a value for that cell. The function signature is <code>func(<em>dataTable</em>, <em>row</em>)</code>, where <em><code>dataTable</code></em> is the source <code>DataTable</code>, and <em><code>row</code></em> is the index
   *                       of the source data row. The function should return a single value of the type specified by <code>type</code>.</li>
   *                     <li><code>type</code> [<em>string</em>] - The JavaScript type of the value
   *                       that the <strong>calc</strong> function returns.</li>
   *                     <li><code>label</code> [<em>Optional</em>, <em>string</em>] - An optional
   *                       label to assign to this generated column. If not specified, the view column will have no label.</li>
   *                     <li><code>id</code> [<em>Optional</em>, <em>string</em>] - An optional
   *                       ID to assign to this generated column.</li>
   *                     <li><code>sourceColumn</code> - [<em>Optional</em>, <em>number</em>] The source column to use as a value; if specified, do not specify the <code>calc</code> or the <code>type</code> property. This is similar to passing in a number instead of an object, but enables you to specify a role and properties for the new column.</li>
   *                     <li><code>properties</code> [<em>Optional</em>, <em>object</em>] - An object containing any arbitrary properties to assign to this column. If not specified, the view column will have no properties.</li>
   *                     <li><code>role</code> [<em>Optional</em>, <em>string</em>] - A <a href="/chart/interactive/docs/roles">role</a> to assign to this column. If not specified, the existing role will not be imported.</li>
   *                   </ul>
   *                 </li>
   *               </ul>
   *             </li>
   *           </ul>
   *           <p><strong>Examples</strong>:</p>
   *         <pre>// Show some columns directly from the underlying data.
   * // Shows column 3 twice.
   * view.setColumns([3, 4, 3, 2]);
   * 
   * // Underlying table has a column specifying a value in centimeters.
   * // The view imports this directly, and creates a calculated column
   * // that converts the value into inches.
   * view.setColumns([1,{calc:cmToInches, type:'number', label:'Height in Inches'}]);
   * function cmToInches(dataTable, rowNum){
   *   return Math.floor(dataTable.getValue(rowNum, 1) / 2.54);
   * }</pre></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_setRows2"></a><code>setRows(min, max)</code></td>
   *         <td>None</td>
   *         <td><p>Sets the rows in this view to be all indexes (in the underlying table/view)
   *             that lie between min and max (inclusive). This is a convenience syntax
   *             for <code>setRows(rowIndexes)</code> above. For example, <code>setRows(5,
   *             10)</code> is equivalent to <code>setRows([5, 6, 7, 8, 9, 10])</code>.</p></td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_setRows"></a><code>setRows(rowIndexes)</code></td>
   *         <td>None</td>
   *         <td><p>Sets the visible rows in this view, based on index numbers from
   *             the underlying table/view. <code>rowIndexes</code> should
   *             be an array of index numbers specifying which rows to show in the view.
   *             The array specifies the order in which to show the rows, and rows can
   *             be duplicated. Note that <em>only</em> the
   *             rows specified in <code>rowIndexes</code> will
   *             be shown; this method clears all other rows from the view. The array
   *             can also contain duplicates, effectively duplicating the specified row
   *             in this view (for example, <code>setRows([3, 4, 3, 2])</code> will cause
   *             row <code>3</code> to appear twice in this view). The array thus provides
   *             a mapping of the rows from the underlying table/view to this view. You
   *             can use <code><a href="#DataTable_getFilteredRows">getFilteredRows()</a></code> or <code><a href="#DataTable_getSortedRows">getSortedRows()</a></code> to
   *             generate input for this method.</p>
   *           <p><strong>Example</strong>: To create a view with rows three and zero
   *             of an underlying table/view: <code>view.setRows([3, 0])</code></p></td>
   *       </tr>
   *       <tr>
   *         <td><code>toDataTable()</code></td>
   *         <td>DataTable</td>
   *         <td>Returns a <code>DataTable</code> object populated with the visible rows and columns of the <code>DataView</code>.</td>
   *       </tr>
   *       <tr>
   *         <td><a name="DataView_toJSON" id="DataView_toJSON"></a><code>toJSON()</code></td>
   *         <td>string</td>
   *         <td>Returns a string representation of this <code>DataView</code>. This
   *           string does not contain the actual data; it only contains the <code>DataView</code>-specific
   *           settings such as visible rows and columns.
   *           You can store this string and pass it to the static <code><a href="#DataView_fromJSON">DataView.fromJSON()</a></code><a href="#DataView_fromJSON"> constructor</a> to
   *           recreate this view. This won't include <a href="#DataView_setColumns">generated
   *             columns</a>.</td>
   *       </tr>
   * </tbody></table>
	 * @example
	 * <pre>
   * $employees = array(
   * 	array("Mike", new Date(2008, 1, 28)),
   * 	array("Bob", new Date(2007, 5, 1)),
   * 	array("Alice", new Date(2006, 7, 16)),
   * 	array("Frank", new Date(2007, 11, 28)),
   * 	array("Floyd", new Date(2005, 3, 13)),
   * 	array("Fritz", new Date(2007, 9, 2)),
   * );
   * 
   * $data = google()->visualization->DataTable()->createVar("data");
   * stack()->add($data);
   * stack()->add(google(true, $data->getVar())->addColumn("string", "Employee Name"));
   * stack()->add(google(true, $data->getVar())->addColumn("date", "Start Date"));
   * stack()->add(google(true, $data->getVar())->addRows(6));
   * 
   * foreach($employees as $index => $employee) {
   * 	stack()->add(google(true, $data->getVar())->setCell($index, 0, $employee[0]));
   * 	stack()->add(google(true, $data->getVar())->setCell($index, 1, $employee[1]));
   * }
   * 
   * $view = google()->visualization->DataView($data->getVar())->createVar("view");
   * stack()->add($view);
   * 
   * $filter = google(false, $view->getVar())
   * 		->getFilteredRows(array(array("column" => 1, "minValue" => new Date(2007, 0, 1) ) ) );
   * 
   * stack()->add( google(true, $view->getVar())->setRows($filter) );
   * 
   * $table = google()->visualization->Table(document()->getElementById("test_dataview"))->createVar("table");
   * stack()->add($table);
   * stack()->add(google(true, $table->getVar())->draw($view->getVar(), array("sortColumn" => 1)));
   * 
   * 
   * echo stack();
   * 	</pre>
	 * @see https://developers.google.com/chart/interactive/docs/reference#DataView
	 * 
	 * @return google_visualization_DataView
	 */
	public function DataView($data){}
	/**
	 * @return google_visualization_ArrowFormat
	 */
	public function ArrowFormat($opt_options){}
	/**
	 * @return google_visualization_BarFormat
	 */
	public function BarFormat($opt_options){}
	/**
	 * @return google_visualization_ColorFormat
	 */
	public function ColorFormat(){}	
	/**
	 * @return google_visualization_DateFormat
	 */
	public function DateFormat($opt_options){}	
	/**
	 * @return google_visualization_NumberFormat
	 */
	public function NumberFormat($opt_options){}
	/**
	 * @return google_visualization_PatternFormat
	 */
	public function PatternFormat($pattern){}
	/**
	 * @return google_visualization_GadgetHelper
	 */
	public function GadgetHelper(){}
	/**
	 * @return google_visualization_AnnotatedTimeLine
	 */
	public function AnnotatedTimeLine($container){}
	/**
	 * @return google_visualization_AreaChart
	 */
	public function AreaChart($container){}
	/**
	 * @return google_visualization_BarChart
	 */
	public function BarChart($container){}
	/**
	 * @return google_visualization_BubbleChart
	 */
	public function BubbleChart($container){}
	/**
	 * @return google_visualization_CandlestickChart
	 */
	public function CandleStickChart($container){}
	/**
	 * @return google_visualization_ColumnChart
	 */
	public function ColumnChart($container){}
	/**
	 * @return google_visualization_ComboChart
	 */
	public function ComboChart($container){}
	/**
	 * @return google_visualization_Gauge
	 */
	public function Gauge($container){}
	/**
	 * @return google_visualization_GeoChart
	 */
	public function GeoChart($container){}
	/**
	 * @return google_visualization_GeoMap
	 */
	public function GeoMap($container){}
	/**
	 * @return google_visualization_Map
	 */
	public function Map($container){}
	/**
	 * @return google_visualization_ImageAreaChart
	 */
	public function ImageAreaChart($container){}
	/**
	 * @return google_visualization_ImageBarChart
	 */
	public function ImageBarChart($container){}
	/**
	 * @return google_visualization_ImageCandlestickChart
	 */
	public function ImageCandleStickChart(){}
	/**
	 * @return google_visualization_ImageChart
	 */
	public function ImageChart($container){}
	/**
	 * @return google_visualization_ImageLineChart
	 */
	public function ImageLineChart($container){}
	/**
	 * @return google_visualization_ImagePieChart
	 */
	public function ImagePieChart($container){}
	/**
	 * @return google_visualization_ImageSparkLine
	 */
	public function ImageSparkLine($container){}
	/**
	 * @return google_visualization_IntensityMap
	 */
	public function IntensityMap($container){}
	/**
	 * @return google_visualization_LineChart
	 */
	public function LineChart($container){}
	/**
   * @return google_visualization_MotionChart
   */
  public function MotionChart($container){}
   /**
   * 	@return google_visualization_OrgChart
   */
  public function OrgChart($container){}
   /**
    * @return google_visualization_PieChart
    */
  public function PieChart($container){}
   /**
   * @return google_visualization_ScatterChart
   */
  public function ScatterChart($container){}
   /**
    * @return google_visualization_SparklineChart
    */
  public function SparklineChart($container){}
   /**
    * @return google_visualization_SteppedAreaChart
    */
  public function SteppedAreaChart($container){}
   /**
    * @return google_visualization_Table
    */
  public function Table($container){}
   /**
    * @return google_visualization_TreeMap
    */
  public function TreeMap($container){}
   /**
    * @return google_visualization_drawToolbar
    */
  public function drawToolbar($container, $components){}
  /**
   * A ChartWrapper class is used to wrap your chart and handle all loading, drawing, and Datasource querying for your chart. The class exposes convenience methods for setting values on the chart and drawing it. This class simplifies reading from a data source, because you do not have to create a query callback handler. You can also use it to save a chart easily for reuse.
   * Another bonus of using ChartWrapper is that you can reduce the number of library loads by using dynamic loading. Additionally, you don't need to load the JSAPI library explicitly, and ChartWrapper will handle looking up the chart libraries for you, so you do not need to specify any chart libraries in your loading statement. See the examples below for details.
   * 
   * <table border="0">
   *   <tbody><tr>
   *     <th scope="col">Method</th>
   *     <th scope="col">Return Type</th>
   *     <th scope="col">Description</th>
   *   </tr>
   *   <tr>
   *     <td><code>draw(<em>opt_container_ref</em>)</code></td>
   *     <td>None</td>
   *     <td><p>Draws the chart. You must call this method after any changes that you make to the chart or data to show the changes.</p>
   *       <ul>
   *         <li><em>opt_container_ref</em> [<em>Optional</em>] - A reference to a valid container element on the page. If specified, the chart will be drawn there. If not, the chart will be drawn in the element with ID specified by <em>containerId</em>. </li>
   *       </ul></td>
   *   </tr>
   *   <tr>
   *     <td><code>toJSON()</code></td>
   *     <td>String</td>
   *     <td>Returns a string version of the JSON representation of the chart.</td>
   *   </tr>
   *   <tr>
   *     <td><code>clone()</code></td>
   *     <td><a href="#chartwrapperobject">ChartWrapper</a></td>
   *     <td>Returns a deep copy of the chart wrapper.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getDataSourceUrl()</code></td>
   *     <td>String</td>
   *     <td>If this chart gets its data from a <a href="/chart/interactive/docs/queries">data source</a>, returns the URL for this data source. Otherwise, returns null.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getDataTable()</code></td>
   *     <td><a href="#DataTable">google.visualization.DataTable</a></td>
   *     <td><p>If this chart gets its data from a locally-defined <code>DataTable</code>, will return a reference to the chart's <code>DataTable</code>. If this chart gets its data from a data source, it will return null.</p>
   *     <p>Any changes that you make to the returned object will be reflected by the chart the next time you call <code>ChartWrapper.draw()</code>.</p></td>
   *   </tr>
   *   <tr>
   *     <td><code>getChartType()</code></td>
   *     <td>String</td>
   *     <td>The class name of the wrapped chart. If this is a Google chart, the name will not be qualified with <code>google.visualization</code>. So, for example, if this were a Treemap chart, it would return "Treemap" rather than "google.visualization.treemap".</td>
   *   </tr>
   *   <tr>
   *     <td><code>getChartName()</code></td>
   *     <td>String</td>
   *     <td>Returns the chart name assigned by <code>setChartName()</code>.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getChart()</code></td>
   *     <td>Chart object reference</td>
   *     <td>Returns a reference to the chart created by this ChartWrapper, for example a <code><a href="/chart/interactive/docs/gallery/barchart">google.visualization.BarChart</a></code> or a <code><a href="/chart/interactive/docs/gallery/columnchart">google.visualization.ColumnChart</a></code>. This will return null until after you have called <code>draw()</code> on the ChartWrapper object, and it throws a ready event. Methods called on the returned object will be reflected on the page.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getContainerId()</code></td>
   *     <td>String</td>
   *     <td>The ID of the chart's DOM container element.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getQuery()</code></td>
   *     <td>String</td>
   *     <td>The query string for this chart, if it has one and queries a data source.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getRefreshInterval()</code></td>
   *     <td>Number</td>
   *     <td>Any <a href="#Query">refresh interval</a> for this chart, if it queries a data source. Zero indicates no refresh.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getOption(<em>key</em>, <em>opt_default_val</em>)</code></td>
   *     <td>Any type</td>
   *     <td><p>Returns the specified chart option value</p>
   *       <ul>
   *         <li><em>key</em> - The name of the option to retrieve. May be a qualified name, such as <code>'vAxis.title'</code>.</li>
   *         <li><em>opt_default_value</em> [<em>Optional</em>] - If the specified value is undefined or null, this value will be returned.</li>
   *       </ul></td>
   *   </tr>
   *   <tr>
   *     <td><code>getOptions()</code></td>
   *     <td>Object</td>
   *     <td>Returns the options object for this chart.</td>
   *   </tr>
   *   <tr>
   *     <td><code>getView()</code></td>
   *     <td>Object OR Array</td>
   *     <td>Returns the <code>DataView</code> initializer object, in the same format as <code><a href="#DataView_toJSON">dataview.toJSON()</a></code>, or an array of such objects.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setDataSourceUrl(<em>url</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets the URL of a <a href="/chart/interactive/docs/queries">data source</a> to use for this chart. If you also set a data table for this object, the data source URL will be ignored.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setDataTable(<em>table</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets the DataTable for the chart. Pass in one of the following: null; a DataTable object; a JSON representation of a DataTable; or an array following the syntax of <a href="#google.visualization.arraytodatatable">arrayToDataTable()</a>.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setChartType(<em>type</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets the chart type. Pass in the class name of the wrapped chart. If this is a Google chart, do not qualify it with <code>google.visualization</code>. So, for example, for a pie chart,  pass in "PieChart".</td>
   *   </tr>
   *   <tr>
   *     <td><code>setChartName(<em>name</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets an arbitrary name for the chart. This is not shown anywhere on the chart, unless a custom chart is explicitly designed to use it.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setContainerId(<em>id</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets the ID of the containing DOM element for the chart.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setQuery(<em>query_string</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets a query string, if this chart queries a data source. You must also set the data source URL if specifying this value.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setRefreshInterval(<em>interval</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets the <a href="#Query">refresh interval</a> for this chart, if it queries a data source. You must also set a data source URL if specifying this value. Zero indicates no refresh.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setOption(<em>key</em>, <em>value</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets a single chart option value, where <em>key</em> is the option name and <em>value</em> is the value. To unset an option, pass in null for the value. Note that <em>key</em> may be a qualified name, such as <code>'vAxis.title'</code>.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setOptions(<em>options_obj</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets a complete options object for a chart.</td>
   *   </tr>
   *   <tr>
   *     <td><code>setView(<em>view_spec</em>)</code></td>
   *     <td>None</td>
   *     <td>Sets a <code>DataView</code> initializer object, which acts as a filter over the underlying data. The chart wrapper must have underlying data from a DataTable or a data source to apply this view to. You can pass in either a string or <code>DataView</code> initializer object, like that returned by <code><a href="#DataView_toJSON">dataview.toJSON()</a></code>. You can also pass in an array of <code>DataView</code> initializer objects, in which case the first <code>DataView</code> in the array is applied to the underlying data to create a new data table, and the second <code>DataView</code> is applied to the data table resulting from application of the first <code>DataView</code>, and so on.</td>
   *   </tr>
   * </tbody></table>
   * 
	 * @example 
	 * <pre>
	 * $f0 = func();
   * 
   * $wrapper = google()->visualization->ChartWrapper(obj(
   * 	array(
   * 		"chartType" => 'ColumnChart',
   * 		"dataTable" => array(
   * 			array('Germany', 'USA', 'Brazil', 'Canada', 'France', 'RU'),
   * 			array(700, 300, 400, 500, 600, 800)
   * 		),
   * 		"options" => array('title' => 'Countries'),
   * 		"containerId" => 'visualization'
   * 	)
   * ))->createVar("wrapper");
   * 
   * $f0->add($wrapper);
   * $f0->add( google()->visualization->events()->addListener($wrapper->getVar(), "onmouseover", google::unescape("uselessHandler")) );
   * $f0->add( google()->visualization->events()->addListener($wrapper->getVar(), "ready", google::unescape("ready")) );
   * $f0->add( google(true, $wrapper->getVar())->draw() );
   * $f0->add( func()->add('alert("not called")')->getVar("uselessHandler") );
   * 
   * $f1 = google()->visualization->events()->addListener( 
   * 	google(false, $wrapper->getVar())->getChart(), "onmouseover", google::unescape("usefulHandler")
   * );
   * 
   * $f0->add( func()->add($f1)->getVar("onReady") );
   * 
   * $f0->add( func()->add('alert("Mouser over event!")')->getVar("usefulHandler") );
   * 
   * echo $f0->getVar("drawVisualization");
   * </pre>
	 * @see https://developers.google.com/chart/interactive/docs/reference#chartwrapperobject
	 * @param $opt_spec [Optional] - Either a JSON object defining the chart, or a serialized string version of that object. The format of this object is shown in the drawChart() documentation. If not specified, you must set all the appropriate properties using the set... methods exposed by this object.	 
	 * @return google_visualization_ChartWrapper
	 */
	public function ChartWrapper($opt_specification){}
	/**
	 * @return google_visualization_ControlWrapper
	 */
	public function ControlWrapper($opt_specification){}
	/**
	 * @return google_visualization_ChartEditor
	 */
	public function ChartEditor($opt_config){}
	/**
	 * @return google_visualization_Dashboard
	 */
	public function Dashboard($container){}
	/**
	 * @return google_visualization_StringFilter
	 */
	public function StringFilter($container){}
	/**
	 * @return google_visualization_NumberRangeFilter
	 */
	public function NumberRangeFilter($container){}
	/**
	 * @return google_visualization_CategoryFilter
	 */
	public function CategoryFilter($container){}
	/**
	 * @param $container
	 * @return google_visualization_ChartRangeFilter
	 */
	public function ChartRangeFilter($container){}
	
}


class google_visualization_DataTable {
	public function __construct($opt_data, $opt_version) {}
  /**
    * @return $this;
    */
	public function toJSON() {}
  /**
    * @return $this;
    */
	public function getNumberOfRows() {}
  /**
    * @return $this;
    */
	public function getNumberOfColumns () {}
  /**
    * @return $this;
    */
	public function __clone() {}
  /**
    * @return $this;
    */
	public function getColumnId($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnIndex($columnId) {}
  /**
    * @return $this;
    */
	public function getColumnLabel($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnPattern($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnRole($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnType($columnIndex) {}
  /**
    * @return $this;
    */
	public function getValue($rowIndex, $columnIndex) {}
  /**
    * @return $this;
    */
	public function getFormattedValue($rowIndex, $columnIndex) {}
  /**
    * @return $this;
    */
	public function getProperty($rowIndex, $columnIndex, $property) {}
  /**
    * @return $this;
    */
	public function getProperties($rowIndex, $columnIndex) {}
  /**
    * @return $this;
    */
	public function getTableProperties() {}
  /**
    * @return $this;
    */
	public function getTableProperty($property) {}
  /**
    * @return $this;
    */
	public function setTableProperties($properties) {}
  /**
    * @return $this;
    */
	public function setTableProperty($property, $value) {}
  /**
    * @return $this;
    */
	public function setValue($rowIndex, $columnIndex, $value) {}
  /**
    * @return $this;
    */
	public function setFormattedValue($rowIndex, $columnIndex, $formattedValue) {}
  /**
    * @return $this;
    */
	public function setProperties($rowIndex, $columnIndex, $properties) {}
  /**
    * @return $this;
    */
	public function setProperty($rowIndex, $columnIndex, $property, $value) {}
  /**
    * @return $this;
    */
	public function setCell($rowIndex, $columnIndex, $opt_value, $opt_formattedValue, $opt_properties) {}
  /**
    * @return $this;
    */
	public function setRowProperties($rowIndex, $properties) {}
  /**
    * @return $this;
    */
	public function setRowProperty($rowIndex, $property, $value) {}
  /**
    * @return $this;
    */
	public function getRowProperty($rowIndex, $property) {}
  /**
    * @return $this;
    */
	public function getRowProperties($rowIndex) {}
  /**
    * @return $this;
    */
	public function setColumnLabel($columnIndex, $newLabel) {}
  /**
    * @return $this;
    */
	public function setColumnProperties($columnIndex, $properties) {}
  /**
    * @return $this;
    */
	public function setColumnProperty($columnIndex, $property, $value) {}
  /**
    * @return $this;
    */
	public function getColumnProperty($columnIndex, $property) {}
  /**
    * @return $this;
    */
	public function getColumnProperties($columnIndex) {}
  /**
    * @return $this;
    */
	public function insertColumn($atColIndex, $type, $opt_label, $opt_id) {}
  /**
    * @return $this;
    */
	public function addColumn($type, $opt_label, $opt_id) {}
  /**
    * @return $this;
    */
	public function insertRows($atRowIndex, $numOrArray) {}
  /**
    * @return $this;
    */
	public function addRows($numOrArray) {}
  /**
    * @return $this;
    */
	public function addRow($opt_cellArray) {}
  /**
    * @return $this;
    */
	public function getColumnRange($columnIndex) {}
  /**
    * @return $this;
    */
	public function getSortedRows($sortColumns) {}
  /**
    * @return $this;
    */
	public function sort($sortColumns) {}
  /**
    * @return $this;
    */
	public function getDistinctValues($column) {}
  /**
    * @return $this;
    */
	public function getFilteredRows($columnFilters) {}
  /**
    * @return $this;
    */
	public function removeRows($fromRowIndex, $numRows) {}
  /**
    * @return $this;
    */
	public function removeRow($rowIndex) {}
  /**
    * @return $this;
    */
	public function removeColumns($fromColIndex, $numCols) {}
  /**
    * @return $this;
    */
	public function removeColumn($colIndex) {}
}

class google_visualization_QueryResponse {
	public function __construct($responseObj){}
  /**
    * @return $this;
    */
	public function getVersionFromResponse($responseObj) {}
  /**
    * @return $this;
    */
	public function getVersion() {}
  /**
    * @return $this;
    */
	public function getExecutionStatus() {}
  /**
    * @return $this;
    */
	public function isError() {}
  /**
    * @return $this;
    */
	public function hasWarning() {}
  /**
    * @return $this;
    */
	public function containsReason($reason) {}
  /**
    * @return $this;
    */
	public function getDataSignature() {}
  /**
    * @return $this;
    */
	public function getDataTable() {}
  /**
    * @return $this;
    */
	public function getReasons() {}
  /**
    * @return $this;
    */
	public function getMessage() {}
  /**
    * @return $this;
    */
	public function getDetailedMessage() {}
}

class google_visualization_Query {
	public function __construct($dataSourceUrl, $opt_options) {}
  /**
    * @return $this;
    */
	function refreshAllQueries() {}
  /**
    * @return $this;
    */
	function setResponse($response) {}
  /**
    * @return $this;
    */
	function setRefreshInterval($intervalSeconds) {}
  /**
    * @return $this;
    */
	function send($responseHandler) {}
  /**
    * @return $this;
    */
	function makeRequest($responseHandler, $opt_params) {}
  /**
    * @return $this;
    */
	function abort() {}
  /**
    * @return $this;
    */
	function setTimeout($timeoutSeconds) {}
  /**
    * @return $this;
    */
	function setRefreshable($refreshable) {}
  /**
    * @return $this;
    */
	function setQuery($queryString) {}
}

class google_visualization_errors{
  /**
    * @return $this;
    */
	public function addError($container, $message, $opt_detailedMessage, $opt_options) {}
  /**
    * @return $this;
    */
	public function removeAll($container) {}
  /**
    * @return $this;
    */
	public function addErrorFromQueryResponse($container, $response) {}
  /**
    * @return $this;
    */
	public function removeError($id) {}
  /**
    * @return $this;
    */
	public function getContainer($errorId) {}
}

class google_visualization_events{
  /**
    * @return $this;
    */
	public function addListener($eventSource, $eventName, $eventHandler) {}
  /**
    * @return $this;
    */
	public function trigger($eventSource, $eventName, $eventDetails) {}
  /**
    * @return $this;
    */
	public function removeListener($listener) {}
  /**
    * @return $this;
    */
	public function removeAllListeners($eventSource) {}
}

class google_visualization_DataView {
	/**
	 * @var google_visualization_DataView
	 */
	public $DataView;
	public function __construct($dataTable){}
  /**
    * @return $this;
    */
	public function fromJSON($dataTable, $view) {}
  /**
    * @return $this;
    */
	public function setColumns($colIndices) {}
  /**
    * @return $this;
    */
	public function setRows($arg0, $opt_arg1) {}
  /**
    * @return $this;
    */
	public function getViewColumns() {}
  /**
    * @return $this;
    */
	public function getViewRows() {}
  /**
    * @return $this;
    */
	public function hideColumns($colIndices) {}
  /**
    * @return $this;
    */
	public function hideRows($arg0, $opt_arg1) {}
  /**
    * @return $this;
    */
	public function getViewColumnIndex($tableColumnIndex) {}
  /**
    * @return $this;
    */
	public function getViewRowIndex($tableRowIndex) {}
  /**
    * @return $this;
    */
	public function getTableColumnIndex($viewColumnIndex) {}
  /**
    * @return $this;
    */
	public function getUnderlyingTableColumnIndex($viewColumnIndex) {}
  /**
    * @return $this;
    */
	public function getTableRowIndex($viewRowIndex) {}
  /**
    * @return $this;
    */
	public function getUnderlyingTableRowIndex($viewRowIndex) {}
  /**
    * @return $this;
    */
	public function getNumberOfRows() {}
  /**
    * @return $this;
    */
	public function getNumberOfColumns() {}
  /**
    * @return $this;
    */
	public function getColumnId($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnIndex($columnId) {}
  /**
    * @return $this;
    */
	public function getColumnLabel($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnPattern($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnRole($columnIndex) {}
  /**
    * @return $this;
    */
	public function getColumnType($columnIndex) {}
  /**
    * @return $this;
    */
	public function getValue($rowIndex, $columnIndex) {}
  /**
    * @return $this;
    */
	public function getFormattedValue($rowIndex, $columnIndex) {}
  /**
    * @return $this;
    */
	public function getProperty($rowIndex, $columnIndex, $property) {}
  /**
    * @return $this;
    */
	public function getColumnProperty($columnIndex, $property) {}
  /**
    * @return $this;
    */
	public function getColumnProperties($columnIndex) {}
  /**
    * @return $this;
    */
	public function getTableProperty($property) {}
  /**
    * @return $this;
    */
	public function getTableProperties() {}
  /**
    * @return $this;
    */
	public function getRowProperty($rowIndex, $property) {}
  /**
    * @return $this;
    */
	public function getRowProperties($rowIndex) {}
  /**
    * @return $this;
    */
	public function getColumnRange($columnIndex) {}
  /**
    * @return $this;
    */
	public function getDistinctValues($columnIndex) {}
  /**
    * @return $this;
    */
	public function getSortedRows($sortColumns) {}
  /**
    * @return $this;
    */
	public function getFilteredRows($columnFilters) {}
  /**
    * @return $this;
    */
	public function toDataTable() {}
  /**
    * @return $this;
    */
	public function toJSON() {}
}

class google_visualization_ArrowFormat{
	public function __construct($opt_options) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $columnIndex) {}
}

class google_visualization_BarFormat{
	public function __construct($opt_options) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $columnIndex) {}
}

class google_visualization_ColorFormat{
	public function addRange($from, $to, $color, $bgcolor) {}
  /**
    * @return $this;
    */
	public function addGradientRange($from, $to, $color, $fromBgColor, $toBgColor) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $columnIndex) {}
}

class google_visualization_DateFormat{
	public function __construct($opt_options) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $columnIndex) {}
  /**
    * @return $this;
    */
	public function formatValue($value) {}
}

class google_visualization_NumberFormat {
	
	const DECIMAL_SEP = "DECIMAL_SEP";
	const GROUP_SEP = "GROUP_SEP";
	const DECIMAL_PATTERN = "DECIMAL_PATTERN";
	public function __construct($opt_options) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $columnIndex) {}
  /**
    * @return $this;
    */
	public function formatValue($value) {}
}

class google_visualization_PatternFormat{
	public function __construct($pattern) {}
  /**
    * @return $this;
    */
	public function format($dataTable, $srcColumnIndices, $opt_dstColumnIndex) {}
}

class google_visualization_GadgetHelper{
	public function __construct() {}
  /**
    * @return $this;
    */
	public function createQueryFromPrefs($prefs) {}
  /**
    * @return $this;
    */
	public function validateResponse($response) {}
}

class google_visualization_AnnotatedTimeLine {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function getVisibleChartRange() {}
  /**
    * @return $this;
    */
	public function setVisibleChartRange($firstDate, $lastDate, $opt_animate) {}
  /**
    * @return $this;
    */
	public function showDataColumns($columnIndexes) {}
  /**
    * @return $this;
    */
	public function hideDataColumns($columnIndexes) {}
}

class google_visualization_AreaChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_BarChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_BubbleChart {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_CandlestickChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_ColumnChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}


class google_visualization_ComboChart {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_Gauge{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
}

class google_visualization_GeoChart {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function mapExists($userOptions) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $userOptions, $opt_state) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_GeoMap{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function clickOnRegion($id, $zoomLevel, $segmentBy, $instanceIndex) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_Map{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_ImageAreaChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImageBarChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImageCandlestickChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImageChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImageLineChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImagePieChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options) {}
}

class google_visualization_ImageSparkLine{
	public function __construct($container, $opt_domHelper) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_IntensityMap{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_LineChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_MotionChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getState() {}
}

class google_visualization_OrgChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
  /**
    * @return $this;
    */
	public function getCollapsedNodes() {}
  /**
    * @return $this;
    */
	public function getChildrenIndexes($rowInd) {}
  /**
    * @return $this;
    */
	public function collapse($rowInd, $collapse) {}
}

class google_visualization_PieChart {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
}

class google_visualization_ScatterChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_SparklineChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_SteppedAreaChart{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($data, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_Table{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSortInfo() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_TreeMap{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options) {}
  /**
    * @return $this;
    */
	public function clearChart() {}
  /**
    * @return $this;
    */
	public function getSelection() {}
  /**
    * @return $this;
    */
	public function setSelection($selection) {}
}

class google_visualization_drawToolbar{
	public function __construct($container, $components) {}
}

class google_visualization_ChartWrapper{
	public function __construct($opt_specification) {}
  /**
    * @return $this;
    */
	public function draw($opt_container) {}
  /**
    * @return $this;
    */
	public function getDataSourceUrl() {}
  /**
    * @return $this;
    */
	public function getDataTable() {}
  /**
    * @return $this;
    */
	public function getChartName() {}
  /**
    * @return $this;
    */
	public function getChartType() {}
  /**
    * @return $this;
    */
	public function getContainerId() {}
  /**
    * @return $this;
    */
	public function getQuery() {}
  /**
    * @return $this;
    */
	public function getRefreshInterval() {}
  /**
    * @return $this;
    */
	public function getView() {}
  /**
    * @return $this;
    */
	public function getOption($key, $opt_default) {}
  /**
    * @return $this;
    */
	public function getOptions() {}
  /**
    * @return $this;
    */
	public function setDataSourceUrl($dataSourceUrl) {}
  /**
    * @return $this;
    */
	public function setDataTable($dataTable) {}
  /**
    * @return $this;
    */
	public function setChartName($chartName) {}
  /**
    * @return $this;
    */
	public function setChartType($chartType) {}
  /**
    * @return $this;
    */
	public function setContainerId($containerId) {}
  /**
    * @return $this;
    */
	public function setQuery($query) {}
  /**
    * @return $this;
    */
	public function setRefreshInterval($refreshInterval) {}
  /**
    * @return $this;
    */
	public function setView($view) {}
  /**
    * @return $this;
    */
	public function setOption($key, $value) {}
  /**
    * @return $this;
    */
	public function setOptions($options) {}
  /**
    * @return $this;
    */
	public function toJSON() {}
}

class google_visualization_ControlWrapper{
	public function __construct($opt_specification) {}
  /**
    * @return $this;
    */
	public function draw($opt_container) {}
  /**
    * @return $this;
    */
	public function toJSON() {}
  /**
    * @return $this;
    */
	public function getDataSourceUrl() {}
  /**
    * @return $this;
    */
	public function getDataTable() {}
  /**
    * @return $this;
    */
	public function getControlName() {}
  /**
    * @return $this;
    */
	public function getControlType() {}
  /**
    * @return $this;
    */
	public function getContainerId() {}
  /**
    * @return $this;
    */
	public function getQuery() {}
  /**
    * @return $this;
    */
	public function getRefreshInterval() {}
  /**
    * @return $this;
    */
	public function getView() {}
  /**
    * @return $this;
    */
	public function getOption($key, $opt_default) {}
  /**
    * @return $this;
    */
	public function getOptions() {}
  /**
    * @return $this;
    */
	public function setDataSourceUrl($dataSourceUrl) {}
  /**
    * @return $this;
    */
	public function setDataTable($dataTable) {}
  /**
    * @return $this;
    */
	public function setControlName($controlName) {}
  /**
    * @return $this;
    */
	public function setControlType($controlType) {}
  /**
    * @return $this;
    */
	public function setContainerId($containerId) {}
  /**
    * @return $this;
    */
	public function setQuery($query) {}
  /**
    * @return $this;
    */
	public function setRefreshInterval($refreshInterval) {}
  /**
    * @return $this;
    */
	public function setView($view) {}
  /**
    * @return $this;
    */
	public function setOption($key, $value) {}
  /**
    * @return $this;
    */
	public function setOptions($options) {}
}


class google_visualization_ChartEditor{
	public function __construct($opt_config) {}
  /**
    * @return $this;
    */
	public function openDialog($specification, $opt_options) {}
  /**
    * @return $this;
    */
	public function getChartWrapper() {}
  /**
    * @return $this;
    */
	public function setChartWrapper($chartWrapper) {}
  /**
    * @return $this;
    */
	public function closeDialog() {}
}

class google_visualization_Dashboard{
	public function __construct($container) {}
	/**
	 * 
	 * @param unknown_type $controls
	 * @param unknown_type $participants
	 * return $this;
	 */
	public function bind($controls, $participants) {}
	/**
	 * 
	 * @param unknown_type $dataTable
	 * return $this;
	 */
	public function draw($dataTable) {}
}

class google_visualization_StringFilter {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function applyFilter() {}
  /**
    * @return $this;
    */
	public function getState() {}
  /**
    * @return $this;
    */
	public function resetControl() {}
}

class google_visualization_NumberRangeFilter {
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function applyFilter() {}
  /**
    * @return $this;
    */
	public function getState() {}
  /**
    * @return $this;
    */
	public function resetControl() {}
}

class google_visualization_CategoryFilter{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function applyFilter() {}
  /**
    * @return $this;
    */
	public function getState() {}
  /**
    * @return $this;
    */
	public function resetControl() {}
}

class google_visualization_ChartRangeFilter{
	public function __construct($container) {}
  /**
    * @return $this;
    */
	public function draw($dataTable, $opt_options, $opt_state) {}
  /**
    * @return $this;
    */
	public function applyFilter() {}
  /**
    * @return $this;
    */
	public function getState() {}
  /**
    * @return $this;
    */
	public function resetControl() {}
}
?>