| 
<?php 
 include_once '../d3.classes.inc.php';
 include_once '../google.classes.inc.php';
 include_once '../element.php';
 
 
 # html definition
 $html = E("html");
 $head = $html->head();
 $body = $html->body();
 $div = $body->toBody("div", array("id"=>"chart"));
 $div->css(array("width"=>"600px", "height"=>"400px"));
 
 $body->toBody("input", array("type"=>"button", "onclick"=>"openEditor()", "value"=>"Open Editor"));
 
 # chart definition
 
 $f = func()->name("init");
 $fe = func()->name("openEditor");
 $f3 = func();
 $head->script()->addAttribute("src", "//www.google.com/jsapi");
 $head->script()->add(google(true)->load("visualization", "1", obj(array("packages"=>array('charteditor')))));
 $head->script()->add(google::variable(null, "wrapper"))
 ->add($f)
 ->add($fe)->linebreak()
 ->add(google(true)
 ->setOnLoadCallback($f->getVar("init")->getVar())
 );
 
 $wrapper = google(false)->visualization->ChartWrapper(obj(
 array(
 "chartType" => 'ColumnChart',
 "dataTable" => array(
 array('Year', 'Austria', 'Belgium', 'Czech Republic', 'Finland', 'France', 'Germany'),
 array('2003',  1336060,   3817614,       974066,       1104797,   6651824,  15727003),
 array('2004',  1538156,   3968305,       928875,       1151983,   5940129,  17356071),
 array('2005',  1576579,   4063225,       1063414,      1156441,   5714009,  16716049),
 array('2006',  1600652,   4604684,       940478,       1167979,   6190532,  18542843),
 array('2007',  1968113,   4013653,       1037079,      1207029,   6420270,  19564053),
 array('2008',  1901067,   6792087,       1037327,      1284795,   6240921,  19830493)
 ),
 "options" => array('title' => 'Countries'),
 "containerId" => 'chart'
 )
 ))->createVar("wrapper", true, false);
 
 stack()->add($wrapper);
 stack()->add(";");
 stack()->add(google(false, $wrapper->getVar())->draw());
 stack()->add(";");
 
 $f->add(stack());
 
 
 $editor = google()->visualization->ChartEditor()->createVar("editor");
 stack()->add($editor);
 $fe->add(stack());
 
 $f3->add(google(false, $editor->getVar())->getChartWrapper()->createVar($wrapper->getVar(),false, false));
 $f3->add(google(true, $wrapper->getVar())->draw(document()->getElementById("chart")));
 
 $event = google(false)->visualization->events(google::property)->addListener($editor->getVar(), "ok", $f3)->colon();
 $fe->add($event);
 
 $fe->add(google(true, $editor->getVar())->openDialog($wrapper->getVar()));
 
 
 echo $html;
 
 |