2009-09-22 7 views
12

J'ai un eclipse rcp et je souhaite masquer les pages de sécurité et d'aide à la préréférence. Comment puis je faire ça?Comment masquer une page de préférences dans une éclipse RCP

+0

Appartient à SU. –

+0

Vous voulez dire que vous êtes le développeur du logiciel RCP? –

+0

Je suis le devleoper, mais les pages de préférences proviennent d'autres plugins, comme les plugins d'aide. –

Répondre

17

Je cherchais la même chose et a trouvé la solution dans ce lien:

http://sourceforge.net/apps/trac/fable/wiki/Preferences

Vive. Stefan


Aide Désactiver les préférences

Insérez le code suivant dans votre sous-classe de org.eclipse.ui.application.WorkbenchAdvisor, et il supprime le "Aide" groupe de dialogue RCP de préférence:

public void postStartup() { 
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager(); 
    pm.remove("org.eclipse.help.ui.browsersPreferencePage"); 
} 

" org.eclipse.help.ui.browsersPreferencePage "est l'ID du point d'extension des préférences.
Ajouter préférences Perspective ¶

Remarque: pour trouver les préférences id plug-ins, sélectionnez Window-->show view--> PDE Runtime--> Plugin Registry ..... et essayer de trouver ce que vous cherchez .....
Par exemple, pour "Workbench preferences", un coup d'oeil à fable.eclipse.ui.ide et l'extension org.eclipse.ui.preferencePages: id="org.eclipse.ui.preferencePages.Workbench"

Si vous voulez ajouter que la perspective (par exemple) les préférences, ajouter une extension de préférence dans 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 

Dans 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; 
}// 
+0

C'est en fait ce que je recherchais Merci –

+0

Bonne capture +1 J'ai importé la page wiki ici. De cette façon, si le projet sourceforge tombe en panne, les informations restent disponibles ici – VonC

+1

Une autre bonne façon de trouver les identifiants de préférences est d'ouvrir le registre des plugins ... Puis allez dans le plugin org.eclipse.ui ... développez-le ... puis développez Points d'extension, puis développez org.eclipse.ui.preferencePages et vous obtiendrez une liste de toutes les préférences ajoutées à l'Eclipse que vous utilisez pour le développement. – nbz

6

Selon this entry, vous pouvez utiliser le mécanisme "workbench activities" et:

  • définissent des activités distinctes correspondant aux différents niveaux d'accès
  • définissent vos actions dans les jeux d'action réguliers, regroupés selon niveau d'accès
  • associer chaque activité aux jeux d'actions appropriés via activityPatternBinding éléments
  • définissez les ID d'activité activés après l'authentification, au début du workbench lifecycle, par ex. de votre WorkbenchAdvisor méthode preStartup().

(note, ci-dessus était un filtrage basé sur les autorisations de l'utilisateur, mais il pourrait être généraliser à d'autres critères.)


En ce qui concerne les pages de préférence pour le stockage et l'aide, vous doit lier l'id de ces pages avec une activité que vous savez que vous pouvez désactiver:

<activityPatternBinding 
    activityId="org.eclipse.javaDevelopment" 
    pattern="org\.eclipse\.help\..*/.*"> 
</activityPatternBinding> 

désactiverait tous les menus/préférences/vues liées à aider. Si vous utilisez org.eclipse.help.ui.PrefPageHelp\..*, il liera uniquement prefPageHelp et prefPageHelpContent.

Si vous ajoutez une autre extension de liaison d'activité avec org.eclipse.equinox.security.ui.sec_storage_preferences_context, cela prend également en charge la page de préférences de stockage sécurisé.

+0

J'ai réussi à cacher mes propres pages de vues et de préréglages, mais les pages de préférences pour le stockage et l'aide sont restées :( –

Questions connexes