please look at my code.
i have managed to change the border on mouse roll over/out and
"select" a column on mouse click.
BUT... how do i "unselect" a previously selected column?
package components.highlightColumn
{
import flash.display.Graphics;
import flash.geom.Rectangle;
import mx.core.IDataRenderer;
import mx.graphics.IStroke;
import mx.core.UIComponent;
import mx.graphics.Stroke;
import mx.graphics.LinearGradient;
import mx.graphics.GradientEntry;
import flash.events.MouseEvent;
import mx.charts.chartClasses.Series;
public class SelectedColumnRenderer extends Series
{
public function SelectedColumnRenderer ():void
{
super();
this.addEventListener(MouseEvent.ROLL_OVER,rollOverHandler);
this.addEventListener(MouseEvent.ROLL_OUT,rollOutHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN,downHandler);
}
private var _data:Object;
private var stroked:Boolean = false;
private var selected:Boolean;
private function rollOverHandler(e:MouseEvent):void
{
stroked = true;
invalidateDisplayList();
}
private function rollOutHandler(e:MouseEvent):void
{
if(!selected)
stroked = false;
invalidateDisplayList();
}
private function downHandler(e:MouseEvent):void
{
selected = true;
invalidateDisplayList();
}
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
var stroke:IStroke = new Stroke(0x000000,2);
var w:Number = stroke.weight / 2 ;
var rc:Rectangle = new Rectangle(w, 0, width-1 * w, height-1 *
w);
var fill:LinearGradient = new LinearGradient();
var g1:GradientEntry = new GradientEntry(0x85250B,0);
var g2:GradientEntry = new GradientEntry(0xF1AC52,.3);
var g3:GradientEntry = new GradientEntry(0xDA3507,.55);
var g4:GradientEntry = new GradientEntry(0x85250B,1);
fill.entries = [g1,g2,g3,g4];
var g:Graphics = graphics;
g.clear();
g.moveTo(rc.left,rc.top);
fill.begin(g,rc);
if (stroked)
stroke.apply(g);
g.lineTo(rc.width,0);
g.lineTo(rc.width,rc.height);
g.lineTo(0,rc.height);
g.lineTo(0,0);
fill.end(g);
this.buttonMode = true;
}
}
}
--- In [email protected], "shemeshkale" <[EMAIL PROTECTED]> wrote:
>
> hi,
> i got a simple ColumnChart.
> i want to make a "selected" column when one is clicked.
> kind of ToggleColumnChart :-)
> when a specific column is clicked its border shoul change.
>
> how do i change the clicked column border??
> an example code would be great
>
> tnx
>