Como Para ocultar uma página de preferências em um Eclipse RCP
-
13-09-2019 - |
Pergunta
Eu tenho um Eclipse RCP e querer esconder a segurança e ajuda páginas prerence. Como posso fazer isso?
Solução
Eu estava olhando para a mesma coisa e encontrou a solução neste link:
http://sourceforge.net/apps/trac/fable/wiki/Preferences
Saúde. Stefan
Desativar Preferências Ajuda
¶
Coloque o seguinte código em sua subclasse de org.eclipse.ui.application.WorkbenchAdvisor
, e remove o grupo "Help" do diálogo preferência RCP:
public void postStartup() {
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager( );
pm.remove( "org.eclipse.help.ui.browsersPreferencePage" );
}
"org.eclipse.help.ui.browsersPreferencePage
" é o ID para o ponto de extensão preferências.
Adicionar preferências Perspectiva ¶
Observação: para encontrar as preferências id plugin, selecione Window-->show view--> PDE Runtime--> Plugin Registry
..... e tentar encontrar o que você está procurando .....
Por exemplo, para "Workbench preferences
", dê uma olhada em fable.eclipse.ui.ide
e extensão org.eclipse.ui.preferencePages
: id="org.eclipse.ui.preferencePages.Workbench"
Se você quiser adicionar única perspectiva (por exemplo) preferências, adicionar uma extensão de preferência em MANIFEST.XML
:
id : org.eclipse.ui.preferencePages.Perspectives
name:perspective(fable)
class:org.eclipse.ui.internal.ide.dialogs.IDEPerspectivesPreferencePage
//Add : org.eclipse.ui.ide in your Dependencies
Em ApplicationWorkBenchAdvisor:
public void postStartup() {
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager( );
pm.remove( ""org.eclipse.ui.preferencePages.Workbench"browsersPreferencePage" );
}
public String getInitialWindowPerspectiveId() {
IPreferenceStore pref = Activator.getDefault().getPreferenceStore();
String ret = pref.getDefaultString(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID);
ret=(ret==null || ret.equals(""))?"yourDefaultPerspectiveID":ret;
return ret;
}//
Outras dicas
De acordo com a esta entrada , você poderia usar o "atividades bancada" mecanismo, e:
- definem atividades separadas correspondentes aos diferentes níveis de acesso
- definem suas ações em conjuntos de ações regulares, agrupados de acordo com o nível de acesso
- associar cada atividade com os conjuntos de ações apropriadas via elementos
activityPatternBinding
- Definir os IDs de atividade ativado após a autenticação, no início da bancada do ciclo de vida, v.g. do método
WorkbenchAdvisor
do seupreStartup()
.
(Nota, o acima foi para uma filtragem com base em permissões do usuário, mas poderia ser generalize a outros critérios.)
Em relação às páginas de preferências para o armazenamento e ajuda, você deve vincular o ID dessas páginas com uma atividade que você sabe que você pode desativar:
<activityPatternBinding
activityId="org.eclipse.javaDevelopment"
pattern="org\.eclipse\.help\..*/.*">
</activityPatternBinding>
iria desativar todos os menus / preferências / opiniões relacionadas com as ajuda.
Se você usar org.eclipse.help.ui.PrefPageHelp\..*
, seria prefPageHelp
única ligam e prefPageHelpContent
.
Se você adicionar outra atividade de extensão de ligação com
org.eclipse.equinox.security.ui.sec_storage_preferences_context
, que também cuidar da página de preferências Armazenamento Seguro.