<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="Legend_markerHeight_test"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
initialize="init();">
<mx:Script>
<![CDATA[
import mx.containers.TileDirection;
import mx.containers.ControlBar;
import mx.containers.Panel;
import mx.containers.ApplicationControlBar;
import mx.containers.FormItem;
import mx.containers.Form;
import mx.charts.Legend;
import mx.charts.series.PieSeries;
import mx.charts.PieChart;
import mx.controls.HSlider;
import mx.collections.XMLListCollection;
import mx.events.SliderEvent;
private var markerWSlider:HSlider;
private var markerHSlider:HSlider;
private var dp:XMLListCollection;
private var pieChart:PieChart;
private var pieSeries:PieSeries;
private var legend:Legend;
private var panel:Panel;
private function init():void {
var xmlDP:XML = <products>
<product label="Product 1" data="3" />
<product label="Product 2" data="1" />
<product label="Product 3" data="4" />
<product label="Product 4" data="1" />
<product label="Product 5" data="5" />
<product label="Product 6" data="9" />
</products>;
dp = new XMLListCollection(xmlDP.product);
markerWSlider = new HSlider();
markerWSlider.minimum = 5;
markerWSlider.maximum = 15;
markerWSlider.value = 10;
markerWSlider.snapInterval = 1;
markerWSlider.tickInterval = 1;
markerWSlider.liveDragging = true;
markerWSlider.addEventListener(SliderEvent.CHANGE,
markerWSlider_change);
markerHSlider = new HSlider();
markerHSlider.minimum = 5;
markerHSlider.maximum = 15;
markerHSlider.value = 10;
markerHSlider.snapInterval = 1;
markerHSlider.tickInterval = 1;
markerHSlider.liveDragging = true;
markerHSlider.addEventListener(SliderEvent.CHANGE,
markerHSlider_change);
var formItem1:FormItem = new FormItem();
formItem1.label = "markerWidth:";
formItem1.addChild(markerWSlider);
var formItem2:FormItem = new FormItem();
formItem2.label = "markerHeight:";
formItem2.addChild(markerHSlider);
var form:Form = new Form();
form.styleName = "plain";
form.addChild(formItem1);
form.addChild(formItem2);
var appControlBar:ApplicationControlBar;
appControlBar = new ApplicationControlBar();
appControlBar.dock = true;
appControlBar.addChild(form);
addChildAt(appControlBar, 0);
pieSeries = new PieSeries();
pieSeries.field = "@data";
pieSeries.nameField = "@label";
pieSeries.filters = [];
pieChart = new PieChart();
pieChart.dataProvider = dp;
pieChart.showDataTips = true;
pieChart.percentWidth = 100;
pieChart.percentHeight = 100;
pieChart.series = [pieSeries];
legend = new Legend();
legend.dataProvider = pieChart;
legend.direction = TileDirection.HORIZONTAL;
legend.setStyle("horizontalGap", 100);
legend.setStyle("markerWidth", markerWSlider.value);
legend.setStyle("markerHeight", markerHSlider.value);
var controlBar:ControlBar = new ControlBar();
controlBar.addChild(legend);
panel = new Panel();
panel.styleName = "opaquePanel";
panel.percentWidth = 100;
panel.percentHeight = 100;
panel.addChild(pieChart);
panel.addChild(controlBar);
addChild(panel);
}
private function markerWSlider_change(evt:SliderEvent):void {
legend.setStyle("markerWidth", evt.value);
}
private function markerHSlider_change(evt:SliderEvent):void {
legend.setStyle("markerHeight", evt.value);
}
]]>
</mx:Script>
</mx:Application>