Flex 4: как правильно переопределить mouseMoveHandler в методе списка искров? - PullRequest
1 голос
/ 17 ноября 2010

Мне действительно нужно переопределить List, spark, чтобы установить localX и localY для события перетаскивания относительно средства визуализации элементов, а не верхнего левого угла списка.

override protected function mouseMoveHandler(event:MouseEvent):void{
        if (!mouseDownPoint || !dragEnabled)
            return;

        var pt:Point = new Point(event.localX, event.localY);
        pt = DisplayObject(event.target).localToGlobal(pt);

        const DRAG_THRESHOLD:int = 5;

        if (Math.abs(mouseDownPoint.x - pt.x) > DRAG_THRESHOLD ||
            Math.abs(mouseDownPoint.y - pt.y) > DRAG_THRESHOLD)
        {
            var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START);
            dragEvent.dragInitiator = this;

            var localMouseDownPoint:Point = this.globalToLocal(itemRendererMouseDownPoint);//mouseDownPoint <-- this is the only change

            dragEvent.localX = localMouseDownPoint.x;
            dragEvent.localY = localMouseDownPoint.y;
            dragEvent.buttonDown = true;

            // We're starting a drag operation, remove the handlers
            // that are monitoring the mouse move, we don't need them anymore:
            dispatchEvent(dragEvent);

            // Finally, remove the mouse handlers
            removeMouseHandlersForDragStart(); // but as this method 
            //is private I can't use it. how to do? if I had to copy paste, 
            //there is a problem too as the method 
            //"removeMouseHandlersForDragStart" has a lot of private variables.

Любая помощь здесь? пожалуйста Спасибо } }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...