Динамическая загрузка компонентов в SWT - PullRequest
0 голосов
/ 27 января 2012

Я работаю над приложением RCP, в котором в моем представлении есть два компонента: композит 1 и композит 2, которые являются частью родительского композитного курса.

Я поместил композиты рядом друг с другом, используя gridLayout 2 столбца с равнымиsize.Below - снимок этого enter image description here

, как показано на рисунке, я хочу загрузить / добавить некоторые новые компоненты (технически виджеты) в составной 2 справа динамически, основываясь на действиях пользователя, выполненных надссылки в композитном1.

Как и в примере, ссылка1 должна применить макет (Borderlayout) и добавить метку в композитный2 ссылка2 некоторый другой макет (rowLayout) и текст в композитный2

Аналогично каждая ссылка имеетЧтобы применить различные стили к Composite2, мой обходной путь включает следующее: для каждого слушателя ссылок там я добавил соответствующий код, который удаляет дочерние элементы Composite2, если он (Composite2) не равен нулю.

Я ищу идеи и как лучше и умнее программировать, чтобы написать дружный код в таком сценарии.Какие-нибудь фрагменты?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Ваш сценарий является стандартным сценарием для секций Master-Details в Eclipse Forms, подробности см. http://www.eclipse.org/articles/Article-Forms/article.html.

В целом: Ваш подход не плохой дизайн пользовательского интерфейса, а типичный вид Master-Detail,Нет необходимости использовать два представления, ваш подход хорош, а Master-Details-Реализация, предоставляемая формами Eclipse, дает вам представление о том, как его реализовать.

1 голос
/ 29 января 2012

В большинстве случаев это плохой дизайн интерфейса.

Если вы хотите предоставить пользователю действия в зависимости от выбора, вы должны либо сделать это с помощью пунктов меню или команд, которые вы включаете / отключаете в отношении выбора. Или, если вы хотите отображать более сложные данные в соответствии с выбором пользователя, вам следует использовать второе представление.

...