Event target of mouse and drag-detected events
Werner Lehmann
lehmann at media-interactive.de
Tue May 28 09:42:41 PDT 2013
Hi Pavel,
I like marking those controls with a property. UserData I would leave
for external usage. I think it is a property anyway.
The main problem here is that this is a container for arbitrary nodes,
including other containers. I can watch for changes in my list of
immediate children but won't know about new children added to those. I
can watch the subgraph with many listeners for
Parent.childrenUnmodifiable and Parent.parent but still cannot
generically know if a child node belongs to a skin or not: Pane children
would be marked, ScrollPane children should not be marked.
The other option, adding all kinds of listeners directly on the nested
child controls, has the same problem: I don't know when somebody adds a
label to a vbox contained in my control so I cannot add listeners to the
label.
Seems as if there is just no way of having centralized mouse/key/drag
event filters for all (nested) non-skin child nodes. Unless I introduce
an explicit observable list of those nodes. This would be redundant and
I cannot force users to actually keep it up-to-date.
Maybe I require a marker interface or annotation on child nodes instead.
Forcing users to subclass each label, textfield, etc. I would have
preferred to keep this as unobtrusive and versatile as possible.
Werner
On 27.05.2013 16:25, Pavel Safrata wrote:
> Hi Werner,
> so you need to distinguish "your" controls from "system" controls. Can
> you mark your controls somehow? For instance by node property or style
> or perhaps even userData or id?
> Regards,
> Pavel
More information about the openjfx-dev
mailing list