Pergunta

Não consigo encontrar qualquer método para fazer um guia invisível ou de outra forma escondida em um aplicativo SWT / JFace --- Eu quero uma segunda aba de estar disponível (ou não) com base em algumas outras preferências definidas pelo usuário.

Não deve ser tão difícil de descobrir isso!

Foi útil?

Solução

A única maneira que eu conheço é eliminar o CTabItem para o separador que deseja ocultar e, em seguida, criar uma nova CTabItem quando você quer mostrá-lo. Mais ou menos,

 CTabFolder folder = new CTabFolder(parent, SWT.NONE);
 Label label = new Label(folder, SWT.NONE);
 label.setText("Hello");
 CTabItem item = new CTabItem(folder);
 item.setControl(label);
 // Hide it
 item.dipose();
 // show it again
 CTabItem item = new CTabItem(folder);
 item.setControl(label);

Se você quiser ocultar um separador no meio você vai precisar recriar todas as guias após o que você eliminados .. É provavelmente mais fácil se você criar uma classe que detém o controle e um campo que pode ser usado para alternar a visibilidade. Depois, é só dipose todos os CTabItems e recriar sse campo visibilidade é verdade.

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