Eclipse RCP, SWT, JFace:Как создать модальный диалог только для представления (а не для всей оболочки)?

StackOverflow https://stackoverflow.com/questions/800321

Вопрос

Есть ли способ создать модальное диалоговое окно для представления, а не для всей оболочки (приложения)?Итак, если, скажем, у меня есть одно представление под названием A, которое перекрывает другое представление под названием B, я хочу открыть диалоговое окно, которое является модальным только для представления A, поэтому, когда я переключусь на представление B, диалоговое окно и представление A будут покрыты вид Б.Могу ли я это сделать, даже если это не является обычной практикой?

Спасибо!

Это было полезно?

Решение

Думаю, реализовать это будет не так просто.Одна из возможностей заключается в том, что вместо использования модального диалога в представлении A вы используете TabFolder.Затем вы можете вместо этого открыть содержимое диалогового окна на новой вкладке и заставить эту вкладку оставаться сверху, пока вы ее не закроете.Это поведение похоже на то, которое вам нужно.

Это также позволит вам перетаскивать что-то из представления B в представление A.

Другие советы

Вся идея восстановления рабочего места состоит в том, чтобы вернуть рабочее место в то состояние, в котором оно было раньше.Не обязательно восстанавливать каждую мелочь, но если вы не хотите оставлять вид пустым, вам следует восстановить его в исходное состояние.Это означает, что представление B должно быть восстановлено с теми же входными данными, которые были у него при закрытии рабочей среды.Если представление B и его входные данные продолжают существовать после закрытия представления A, то представление B и его входные данные могут быть восстановлены независимо от того, существует представление A или нет.Вам определенно не следует открывать диалоговые окна во время восстановления рабочей среды.Это не было бы хорошим дизайном пользовательского интерфейса.Eclipse предоставляет очень простую в использовании структуру памяти, которая может сохранять входные данные представления.Используй это.

Если вы не знакомы с сувенирами, см., например http://wiki.eclipse.org/FAQ_How_does_a_view_persist_its_state_between_sessions%3F.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top