Eclipse RCP, SWT, JFace: Como criar um diálogo que é modal apenas para uma visão (não todo o shell)?

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

Pergunta

Existe uma maneira de criar um diálogo que é modal para uma vista e não todo o shell (aplicação)? Então, se dizer, eu tenho um ponto de vista chamado A que está sobrepondo outro ponto de vista chamado B, eu quero abrir um diálogo que só é modal para ver A, então quando eu mudar para a vista B, o diálogo ea vista Uma serão cobertos pelo vista B. existe uma maneira que eu posso fazer isso, mesmo se não é a prática normal para fazer?

Obrigado!

Foi útil?

Solução

Eu acho que não vai ser tão fácil de implementar. Uma possibilidade é que em vez de usar uma caixa de diálogo modal em Ver A, você usa um TabFolder. Em seguida, você pode abrir o conteúdo do diálogo em uma nova aba em vez disso e forçar esta guia para ficar em cima até que você rejeitá-lo. Este é um comportamento semelhante ao que você precisa.

Isso também permitirá que você arrastar e soltar algo de View B em Vista A.

Outras dicas

A idéia de bancada restaurar é colocar a parte de trás bancada para o estado em que estava antes. Ele não tem de restaurar cada pequeno detalhe, mas se você não quer deixar o espaço em branco vista, então você deve restaurá-lo ao seu estado original. Isso significa ver B deve ser restaurada com a mesma entrada que tinha quando você fechou a bancada. Se vista B e a sua entrada de continuar a existir depois de vista A é fechado em seguida, ver B e a sua entrada pode ser restaurado, independentemente de vista Um existe ou não. Você certamente não deve ser abrir caixas de diálogo durante bancada restauração. Isso não seria bom design de interface do usuário. Eclipse fornece um muito fácil de enquadramento uso memento que pode salvar uma entrada de vista. Usá-lo.

Se você não estiver familiarizado com lembranças, ver, por exemplo http://wiki.eclipse.org/ FAQ_How_does_a_view_persist_its_state_between_sessions% 3F .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top