Location: PHPKode > scripts > QGoogleVisualizationAPI > QWordcloudGoogleGraph.class.php
<?php

/**
 * Wrapper for Google Visualisation API
 * Visualisation type: word cloud chart
 * @author Thomas Schäfer
 * @since 2008-06-29
 *
 */
class QWordcloudGoogleGraph extends QVizualisationGoogleGraph {

	/**
	 * visualisation type holder
	 *
	 * @var string
	 */
	protected $vizualisationType = "WordCloud";

	/**
	 * default property holder
	 *
	 * @var array
	 */
	protected $drawProperties = array("width"=>600,"height"=>400);

	/**
	 * holder for google api package name
	 *
	 * @var string
	 */
	protected $package = "";

	/**
	 * holder for default properties
	 *
	 * @var array
	 */
	protected $configuration = array(
		"width" => array("datatype" => "integer"),	
		"height" => array("datatype" => "integer"),	
	);
	
	/**
	 * package setup info
	 * 
	 *
	 * @var array
	 */
	protected $packageSetup = array(
		"link" =>
			array(
				"rel"=>"stylesheet", 
				"type"=>"text/css",
				"href"=>"http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.css"
			),
		"script" => array(
			 "type"=>"text/javascript",
			 "src"=>"http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.js"
		) 
	);

	/**
	 * set for package setup script and css
	 * @param array $array
	 * @return self
	 */
	public function setPackageSetup($array) {
		$this->packageSetup = $array;
		return $this;
	}
	
	/**
	 * custom append method
	 *
	 * @return self
	 */
	public function customAppend(){
		$this->putProperty("function", "var oc = document.getElementById('".$this->getProperty("id")."');");
        $this->putProperty("function", "var vt = new ".$this->vizualisationType."(oc);");
        $this->putProperty("function", "vt.draw(data, null);");
	}
	
	public function setValues($values=array()){
		
		$this->putProperty("function","");
		$this->putProperty("function", "data.addRows(".(count($values)/$this->columns).");");
		
		foreach($values as $value){
			
			if(is_string($value[2])) {
				$value3 = "'".$value[2]."'" ;
			} elseif(is_bool($value[2])) {
				$value3 = $value[2]?"true":"false"; 
			} else {
				$value3 = $value[2];
			}
			$this->putProperty("function", "data.setCell(".$value[0].",".$value[1].",".$value3.");");
		}
		return $this;
	}
	
	public function getReferenceLink() {
		$link = '<a href="http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/doc.html" target="_blank">Goto Google Visualization Web API Gallery</a>';
		return $link;
	}
	
}
Return current item: QGoogleVisualizationAPI