Tooltip for disabled controls
Pavel Safrata
pavel.safrata at oracle.com
Tue Apr 16 02:44:55 PDT 2013
Looks like we'll need two steps anyway.
First, in Scenegraph, support delivering events to disabled nodes.
I looked at the existing event filters in Controls and If we enabled
event filters for disabled nodes, four of the filters would need an
isDisabled() check.
If we added the marker interface or annotation, we should be more or
less safe (except of losing the ugly click-through behavior). This will
require some refactoring as core event system needs to be independent of
scene graph (and its isDisabled() property).
Second, in Controls, provide a way to tell where to show the tooltip and
where not. I can see three options:
- boolean property (showTooltipWhenDisabled), perhaps with the
inheriting logic proposed by Steve
- separate tooltip property (ObjectProperty<Tooltip>
disabledTooltipProperty()) so you can define different tooltips that
switch automatically
- somehow decide automatically (I don't really think it's possible since
we don't know if a Pane is a tool bar or not)
Thanks,
Pavel
On 9.4.2013 16:42, steve.x.northover at oracle.com wrote:
>
> On 08/04/2013 3:33 PM, Pavel Safrata wrote:
>>
>>> What events are need by the toolkit to implement tool tips?
>>
>> moved, exited, pressed
>
> So it would be possible (but ugly) to only have new versions of these
> events that fired when a control is disabled.
>
>>
>>> Which controls implement tool tips?
>>
>> All of them. The tooltipProperty is on the Control class itself.
>
> What I am trying to understand is whether we want tool tips to always
> show for disabled controls or whether we just want them to show for
> disabled items in tool bars. My feeling is that most controls do not
> want tool tips to show when they are disabled. Tool items are an
> exception to the rule because hover help allows the user to identify
> the action the tool item will perform. I also realize that any
> control can be a tool item.
>
> Tool tips are installed by default in FX for:
>
> * color squares in the color picker
> * numbered pages in the paginator
>
> Tool tips often appear for:
>
> * tabs items in a tab folder
> * tool items in a tool bar
> * tree/table items that are clipped (not supported in FX)
> * tree/table headers (not supported in FX)
> * menu items (not supported in FX)
>
> I suppose we could control whether a tooltip is displayed when a
> control is disabled by adding a boolean property. The value would be
> inherited from the parent if not otherwise set. In a toolbar, tool
> tips would be displayed by default. In other controls like tree or
> table, they would not.
>
> Steve
>
>
More information about the openjfx-dev
mailing list