Cómo ocultar una página de preferencias en un Eclipse RCP
-
13-09-2019 - |
Pregunta
Tengo un Eclipse RCP y quiero ocultar las páginas prerence de seguridad y ayuda. ¿Cómo puedo hacer eso?
Solución
Yo estaba buscando lo mismo y encontró la solución en este enlace:
http://sourceforge.net/apps/trac/fable/wiki/Preferences
Saludos. Stefan
preferencias ayudan a desmontar
¶
Coloque el siguiente código en su subclase de org.eclipse.ui.application.WorkbenchAdvisor
, y se elimina el grupo "Ayuda" de diálogo de preferencias RCP:
public void postStartup() {
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager( );
pm.remove( "org.eclipse.help.ui.browsersPreferencePage" );
}
"org.eclipse.help.ui.browsersPreferencePage
" es el ID del punto de extensión preferencias.
Añadir preferencias Perspectiva ¶
Observación: para encontrar las preferencias de identificación del plugin, seleccione Window-->show view--> PDE Runtime--> Plugin Registry
..... y tratar de encontrar lo que buscas .....
Por ejemplo, para "Workbench preferences
", echar un vistazo en fable.eclipse.ui.ide
y org.eclipse.ui.preferencePages
extensión: id="org.eclipse.ui.preferencePages.Workbench"
Si desea agregar única perspectiva (por ejemplo) las preferencias, añadir una extensión de preferencias en 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
En 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;
}//
Otros consejos
De acuerdo con esta entrada , se podría utilizar el "actividades del banco de trabajo" mecanismo, y:
- definir actividades separadas correspondientes a los diferentes niveles de acceso
- definir sus acciones en conjuntos de acciones regulares, agrupados de acuerdo con el nivel de acceso
- asociar cada actividad con los conjuntos de acciones apropiadas a través elementos
activityPatternBinding
- establecer los identificadores de actividad habilitados después de la autenticación, temprano en la mesa de trabajo ciclo de vida, por ejemplo, del método
WorkbenchAdvisor
de supreStartup()
.
(Tenga en cuenta, lo anterior era para un filtrado basado en los permisos del usuario, pero podría ser generalizar a otros criterios.)
En cuanto a las páginas de preferencias para el almacenamiento y ayuda, debe obligar a la identificación de esas páginas con una actividad que sabe que puede desactivar:
<activityPatternBinding
activityId="org.eclipse.javaDevelopment"
pattern="org\.eclipse\.help\..*/.*">
</activityPatternBinding>
sería desactivar todos / preferencias / puntos de vista de menú relacionados con ayudar.
Si utiliza org.eclipse.help.ui.PrefPageHelp\..*
, sólo se uniría prefPageHelp
y prefPageHelpContent
.
Si se agrega otra extensión de unión con la actividad
org.eclipse.equinox.security.ui.sec_storage_preferences_context
, que también se encargaría de la página segura preferencia de almacenamiento.