SWT: notify a composite that it has a new child
How to notify a Composite
if a new child control has been created?
The reason: by default, for the StackLayout
no child is shown. I want to ensure that the first control which is added to our StackLayoutComposite
(which is a Composite
with set St开发者_C百科ackLayout
and a few other helper methods) is shown by default. Currently, I solved it by overriding StackLayout
's layout
method, but this looks ugly in my eyes.
If you want to re-layout the parent Composite
based on the new child and any associated layout data, just use composite.layout(true);
...
If you want to be notified by the parent that the widget hierarchy has been changed, then you're out of luck... The closest you can get, is to add a SWT filter to the display and wait for a SWT.Resize
event for a previously unknown child... I have done this is a project, but I have to admit that the code gets a bit ugly as you have to monitor for disposal as well...
精彩评论