I’m very short on time right now, and I’m not familiar with how it was done in 
Jewel.

I don’t know if it will help you, but here’s a reference to how we implemented 
tooltips in Spectrum:

https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/src/com/unhurdle/spectrum/Tooltip.as
https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/src/com/unhurdle/spectrum/AdaptiveTooltipBead.as

Good luck,
Harbs

> On Apr 25, 2022, at 11:28 PM, Maria Jose Esteve <mjest...@iest.com> wrote:
> 
> I think that almost all these questions are answered by Jewel's toolTip 
> control (properties, Css, ...) @Harbs, do you think I should review Jewel's 
> toolTip? I think I could do it.
> When I analyzed my needs, the only one I missed in the toolTip was 
> conditional display. My first idea was: a function to control the 
> visualization, but I preferred to implement the simplest first, do you think 
> it would be better to implement the callback function?
> 
> Hiedra
> 
> -----Mensaje original-----
> De: Harbs <harbs.li...@gmail.com> 
> Enviado el: martes, 19 de abril de 2022 12:41
> Para: dev@royale.apache.org
> Asunto: Re: ToolTip bead only if overflowing
> 
> It looks like it should work.
> 
> Some things to consider:
> 
> 1. Do you want the tooltip class to be swappable? i.e. what about warm-up and 
> warm-down? Posiiton bahavior? etc.
> 2. Do you need/want the measuring to happen on every roll-over? It’s a pretty 
> expensive operation. My implementation only measures once. That’s good from a 
> performance perspective, but bad if the sizes might change.
> 
> I’m not sure if there’s a “right” or “wrong” here, but these are some of the 
> considerations I’d make when creating a general purpose bead.
> 
> HTH,
> Harbs
> 
>> On Apr 19, 2022, at 12:29 PM, Maria Jose Esteve <mjest...@iest.com> wrote:
>> 
>> My implementation is a little different, but it is an extension of Jewel's 
>> control and I don't know if it is the right thing to do:
>> 
>> public class ToolTipJwExt extends 
>> org.apache.royale.jewel.beads.controls.ToolTip
>>      {
>>              
>>              public function ToolTipJwExt()
>>              {
>>                      super();
>>              }
>> 
>>              /**
>>               * @private
>>               * @royaleignorecoercion org.apache.royale.core.IUIBase
>>               * @royaleignorecoercion 
>> org.apache.royale.events.IEventDispatcher
>>               */
>>              override protected function 
>> rollOverHandler(event:MouseEvent):void
>>              {
>>                      if( !_onlyIfItOverflows || (_onlyIfItOverflows && 
>> isOverflowing()) )
>>                      {
>>                              super.rollOverHandler(event);
>>                      }
>>              }
>> 
>>              private var _onlyIfItOverflows:Boolean = false;
>>              public function get onlyIfItOverflows():Boolean{ return 
>> _onlyIfItOverflows; }
>>              public function set onlyIfItOverflows(value:Boolean):void{ 
>> _onlyIfItOverflows = value; }
>> 
>>              public function isOverflowing():Boolean
>>              {
>>                      var scrollArea:HTMLElement = (_strand as 
>> IStyledUIBase).element;
>>                      return scrollArea.offsetWidth < 
>> scrollArea.scrollWidth?true:false;
>>              }
>> 
>>      }
>> 
>> How do you see it?, the implementation is different and only for Jewel. 
>> 
>> Hiedra
>> 
>> -----Mensaje original-----
>> De: Harbs <harbs.li...@gmail.com> 
>> Enviado el: martes, 19 de abril de 2022 11:05
>> Para: Apache Royale Development <dev@royale.apache.org>
>> Asunto: Re: ToolTip bead only if overflowing
>> 
>> FYI, in case it’s useful here’s the implementation I have in one of my apps:
>> 
>>              private var toolTipBead:AdaptiveToolTipBead;
>> 
>>              public function get toolTip():String
>>              {
>>                      return toolTipBead.toolTip;
>>              }
>> 
>>              public function set toolTip(value:String):void
>>              {
>>                      toolTipBead.toolTip = value;
>>              }
>>              private function titleHover(ev:*):void
>>              {
>>                      if(prefUtils.assetSize > _title.element.scrollWidth){
>>                              // remove the bead
>>                              if(toolTipBead){
>>                                      toolTip = '';
>>                                      _title.removeBead(toolTipBead);
>>                                      toolTipBead = null;
>>                              }
>>                      } else if(!toolTipBead){
>>                              // add the bead
>>                              toolTipBead = new AdaptiveToolTipBead();
>>                              _title.addBead(toolTipBead);
>>                              toolTip = title;
>>                              var newEv:Event = 
>> MouseEvent.createMouseEvent("mouseenter") as Event;
>>                              _title.element.dispatchEvent(newEv)
>>                      }
>>              }
>> 
>>> On Apr 19, 2022, at 10:38 AM, Yishay Weiss <yishayj...@hotmail.com> wrote:
>>> 
>>> Sounds good to me.
>>> 
>>> From: Maria Jose Esteve<mailto:mjest...@iest.com>
>>> Sent: Tuesday, April 19, 2022 12:54 AM
>>> To: dev@royale.apache.org<mailto:dev@royale.apache.org>
>>> Subject: ToolTip bead only if overflowing
>>> 
>>> Hello, do you think a ToolTip bead that only appears if the text really 
>>> overflows would be of general interest?
>>> 
>>> Hiedra
>>> 
>> 
> 

Reply via email to