Thanks for the tip . Here is what I did and its working great..
In org.un.cava.birdeye.ravis.graphLayout.visual.IVisualEdge
added a method
function updateLabelText(txt:String):void;
Implemented it on
org.un.cava.birdeye.ravis.enhancedGraphLayout.visual.EnhancedVisualEdge
like so -
public function updateLabelText(txt:String):void{
var i:int=0;
if (data is XML)
{
data.@edgeLabel = txt;
}
else
{
data.edgeLabel=txt;
}
dispatchEvent(new VGEdgeEvent(VGEdgeEvent.VG_EDGE_LABEL_CHANGE));
}
This is invoked from the main application to update the label of the
edge
Now in
org.un.cava.birdeye.ravis.enhancedGraphLayout.visual.edgeRenderers.EdgeRenderer
under public function set data(value:Object):void
added
_data.addEventListener(VGEdgeEvent.VG_EDGE_LABEL_CHANGE,refreshLabel);
and implemeted refreshLabel in EdgeRenderer like so -
public function refreshLabel(event:Event):void
{
var edgeVO:Object = data.data;
var html:String = '';
if (edgeVO is XML)
{
if (edgeVO.@edgeLabel)
html = edgeVO.@edgeLabel.toString();
}
else
{
if (edgeVO.edgeLabel)
html = edgeVO.edgeLabel;
}
label.autoSize = TextFieldAutoSize.CENTER;
label.text = html;