Hola estimado te doy el codigo al quitar ese override se me complica aun mas porque tira demasiados errores.
El codigo es:
Código ActionScript :
package com.dougmccune.controls
{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import mx.controls.*;
import mx.controls.listClasses.*;
import mx.controls.menuClasses.*;
import mx.core.*;
import mx.managers.*;
public class ScrollableMenu extends mx.controls.Menu
{
public function ScrollableMenu()
{
super();
return;
}
public override function set verticalScrollPolicy(arg1:String):void
{
var loc1:*;
loc1 = null;
loc1 = arg1.toLowerCase();
itemsSizeChanged = true;
if (_verticalScrollPolicy != loc1)
{
_verticalScrollPolicy = loc1;
dispatchEvent(new flash.events.Event("verticalScrollPolicyChanged"));
}
invalidateDisplayList();
return;
}
override function openSubMenu(arg1:mx.controls.listClasses.IListItemRenderer):void
{
var loc1:*;
loc1 = null;
var loc2:*;
loc2 = null;
supposedToLoseFocus = true;
loc1 = getRootMenu();
if (!mx.controls.menuClasses.IMenuItemRenderer(arg1).menu)
{
loc2 = new com.dougmccune.controls.ScrollableMenu();
loc2.maxHeight = this.maxHeight;
loc2.verticalScrollPolicy = this.verticalScrollPolicy;
loc2.parentMenu = this;
loc2.owner = this;
loc2.showRoot = showRoot;
loc2.dataDescriptor = loc1.dataDescriptor;
loc2.styleName = loc1;
loc2.labelField = loc1.labelField;
loc2.labelFunction = loc1.labelFunction;
loc2.iconField = loc1.iconField;
loc2.iconFunction = loc1.iconFunction;
loc2.itemRenderer = loc1.itemRenderer;
loc2.rowHeight = loc1.rowHeight;
loc2.scaleY = loc1.scaleY;
loc2.scaleX = loc1.scaleX;
if (arg1.data && _dataDescriptor.isBranch(arg1.data) && _dataDescriptor.hasChildren(arg1.data))
{
loc2.dataProvider = _dataDescriptor.getChildren(arg1.data);
}
loc2.sourceMenuBar = sourceMenuBar;
loc2.sourceMenuBarItem = sourceMenuBarItem;
mx.controls.menuClasses.IMenuItemRenderer(arg1).menu = loc2;
mx.managers.PopUpManager.addPopUp(loc2, loc1, false);
}
super.openSubMenu(arg1);
return;
}
protected override function configureScrollBars():void
{
var loc1:*;
loc1 = 0;
var loc2:*;
loc2 = 0;
var loc3:*;
loc3 = 0;
var loc4:*;
loc4 = 0;
var loc5:*;
loc5 = null;
var loc6:*;
loc6 = null;
var loc7:*;
loc7 = 0;
var loc8:*;
loc8 = 0;
var loc9:*;
loc9 = 0;
loc1 = listItems.length;
if (loc1 == 0)
{
return;
}
if (loc1 > 1 && rowInfo[(loc1 - 1)].y + rowInfo[(loc1 - 1)].height > listContent.height)
{
loc1 = (loc1 - 1);
}
loc2 = (verticalScrollPosition - lockedRowCount - 1);
loc3 = 0;
while (loc1 && listItems[(loc1 - 1)].length == 0)
{
if (collection && loc1 + loc2 >= collection.length)
{
loc1 = (loc1 - 1);
++loc3;
continue;
}
break;
}
loc4 = listItems[0].length;
loc5 = horizontalScrollBar;
loc6 = verticalScrollBar;
loc7 = Math.round(unscaledWidth);
loc8 = collection ? collection.length - lockedRowCount : 0;
loc9 = loc1 - lockedRowCount;
setScrollBarProperties(Math.round(listContent.width), loc7, loc8, loc9);
maxVerticalScrollPosition = Math.max(loc8 - loc9, 0);
return;
}
public override function get verticalScrollPolicy():String
{
return this._verticalScrollPolicy;
}
protected override function measure():void
{
var loc1:*;
loc1 = null;
var loc2:*;
loc2 = NaN;
super.measure();
if (measuredHeight > this.maxHeight)
{
measuredHeight = this.maxHeight;
}
if (verticalScrollPolicy == mx.core.ScrollPolicy.ON || verticalScrollPolicy == mx.core.ScrollPolicy.AUTO)
{
if (verticalScrollBar)
{
var loc3:*;
measuredWidth = loc3 = measuredWidth + verticalScrollBar.minWidth;
measuredMinWidth = loc3;
}
}
loc1 = new flash.geom.Point(0, 0);
loc1 = this.localToGlobal(loc1);
loc2 = screen.y + screen.height - loc1.y - 10;
if (loc2 < measuredHeight)
{
measuredHeight = loc2;
invalidateSize();
}
commitProperties();
return;
}
public static function createMenu(arg1:flash.display.DisplayObjectContainer, arg2:Object, arg3:Boolean=true):com.dougmccune.controls.ScrollableMenu
{
var loc1:*;
loc1 = null;
(loc1 = new ScrollableMenu()).tabEnabled = false;
loc1.owner = flash.display.DisplayObjectContainer(mx.core.Application.application);
loc1.showRoot = arg3;
popUpMenu(loc1, arg1, arg2);
return loc1;
}
}
}La linea 35 es:
Código ActionScript :
override function openSubMenu(arg1:mx.controls.listClasses.IListItemRenderer):void
pero aun haci quitando ese override da mas de un error.
Muchas Graciaz por su ayuda.