Я думаю, что упомянутый вами метод IWorkbenchPage.hideView()
- единственный, доступный для программного закрытия вида. Я также думаю, что это имя метода должно быть closeView (), потому что оно действительно закрывает представление.
Я использовал этот метод некоторое время (с allowMultiple=true
представлениями), и после отладки кажется, что мой view.dispose()
метод вызывается каждый раз, когда я вызываю hideView()
.
В следующий раз, когда я снова открою это представление (я имею в виду из своего кода, а не из пользовательского интерфейса), Eclipse создаст новое, и метод createPartControl()
будет вызван снова.
Более того, представление иерархии вызовов сообщило мне, что hideView()
должен вызывать dispose method()
....
hideView() >> releaseView() >> partRemoved() >> disposePart() >> dispose() >> doDisposePart() >> doDisposePart() >> dispose()
Надеюсь, это поможет ...
Последний вопрос, как вы проверили, что ваше мнение было неправильно расположено?