flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepak MS <megharajdee...@gmail.com>
Subject Re: Lineseries tooltip on mobile
Date Tue, 09 Sep 2014 14:29:01 GMT
Hi Maurice,
You are a life saver : ) Thank you so much for that tip. I had been
struggling on that issue for quite some time. I have set mouseSensitivity
to about 50 now, which pretty much covers a fat finger's touch on it and
display's data tip smoothly and there is no need of custom renderer too.

Thanks again...
Cheers!

On Tue, Sep 9, 2014 at 6:14 PM, Maurice Amsellem <
maurice.amsellem@systar.com> wrote:

> Hi Deepak,
>
> I didn't test, but since Datatips are managed at the chart level, not at
> the renderers level,  (check ChartBase.mouseOverHandler() ), then it likely
> that simply adding click/tap listeners to the renderer will not work.
>
> Did you try  setting mouseSensitivity property for the chart ?
>
>
> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/charts/chartClasses/ChartBase.html#mouseSensitivity
>
>
> Maurice
>
> -----Message d'origine-----
> De : Deepak MS [mailto:megharajdeepak@gmail.com]
> Envoyé : mercredi 27 août 2014 11:46
> À : users@flex.apache.org
> Objet : Lineseries tooltip on mobile
>
> Hi there,
> I'm using a columnchart with a lineseries in it for an ipad app. I have
> enabled tooltip for it. But unfortunately its too difficult to get the
> tooltip on the device when we move the finger over it.
>
> Hence I planned to add a custom circleitemrenderer with width and height of
> 20 to get the custom tooltip by adding a click\touchtap event on it.
>
> But unfortunately, it is not triggering the click\touchtap event at all.
>
> My code:
>
> myLineSeries.setStyle('itemRenderer', new ClassFactory(DataPointRenderer));
>
>
> public class DataPointRenderer extends CircleItemRenderer
>     {
>         public function DataPointRenderer()
>         {
>             super();
>             width = 20;
>             height = 20;
>             addEventListener(MouseEvent.CLICK, onClick);
>             addEventListener(TouchEvent.TOUCH_TAP, onClick);
>
>             addEventListener(MouseEvent.MOUSE_OVER, onOver);
>         }
>
>         private var model:ApplicationModelLocator =
> ApplicationModelLocator.getInstance();
>         private function onOver(event:MouseEvent):void
>         {
>             model.showAlert('over');  /// This function is not at all
> called even after clicking(both on simulator as well as on device)
>         }
>
>         private function onClick(event:MouseEvent):void
>         {
>             model.showAlert('clicked');    /// This function is not at all
> called even after mouse hover (on desktop simulator)
>         }
>
>         override protected function
> updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
>         {
>             super.updateDisplayList(unscaledWidth, unscaledHeight);
>             var currentFill:uint;
>             var g:Graphics = graphics;
>             g.clear();
>             if (data is ChartItem && data.hasOwnProperty('fill'))
>             {
>                 currentFill = data.fill.color;
>                 g.beginFill(currentFill);
>                 g.drawCircle(5,5,20);
>                 g.endFill();
>             }
>
>         }
>     }
>
>
> Am I missing something here?
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message