SWT: уведомить композит, что у него новый ребенок - PullRequest
1 голос
/ 23 июня 2011

Как уведомить Composite, если был создан новый дочерний элемент управления?

Причина: по умолчанию для StackLayout дочерний элемент не отображается.Я хочу убедиться, что первый элемент управления, который добавляется к нашему StackLayoutComposite (который является Composite с набором StackLayout и несколькими другими вспомогательными методами), отображается по умолчанию.В настоящее время я решил эту проблему, переопределив метод StackLayout layout, но это выглядит уродливо в моих глазах.

1 Ответ

1 голос
/ 23 июня 2011

Если вы хотите изменить макет родительского элемента Composite на основе нового дочернего элемента и любых связанных данных макета, просто используйте composite.layout(true); ...

Если вы хотите, чтобы родитель уведомил вас о том, что иерархия виджетов была изменена, то вам не повезло ... Самое близкое, что вы можете получить, это добавить SWT-фильтр на дисплей и ждать SWT.Resize событие для ранее неизвестного ребенка ... Я сделал это, это проект, но я должен признать, что код становится немного уродливым, так как вы также должны следить за утилизацией ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...