Comment puis-je supprimer les icônes des éléments de menu dans une application basée sur Eclipse RCP?

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

  •  11-09-2019
  •  | 
  •  

Question

Je travaille sur une application basée sur Eclipse RCP, et nous avons décidé que nous ne voulons pas l'un des éléments du menu pour afficher les icônes à côté du texte. Le problème que nous constatons que les actions standard comme Undo, Redo, Couper, Copier, Coller, et ainsi de suite tous afficher les icônes par défaut pour les actions correspondantes.

Est-il possible de dire l'infrastructure de gestion de l'action d'ignorer les icônes? Ma solution de force brute à c'était de reconstruire le SWT pour que MenuItem.setImage () était un no-op, et inclure notre propre copie du SWT dans le produit final, mais il semble qu'il devrait y avoir une solution plus léger .

Était-ce utile?

La solution

avéré être plus facile que je ne l'avais espéré.

Créer une sous-classe de org.eclipse.ui.application.ActionBarAdvisor. Remplacer le registre de la méthode comme ceci:

protected void register(IAction action) {
    super.register(action);
    action.setImageDescriptor(null);
}

Ensuite, créez une sous-classe de org.eclipse.ui.application.WorkbenchWindowAdvisor qui remplace createActionBarAdvisor:

public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
    return new MyActionBarAdvisor(configurer);
}

Voilà. Toutes les actions ne seront plus icônes.

Autres conseils

Je crois que vous voulez examiner plus avant d'entrer dans le manifeste et la recherche en org.eclipse.ui.views et voir s'il y a quelque chose là-dedans pour supprimer des icônes

Quelle est la raison de ne pas inclure les icônes? Beaucoup d'efforts ont été dans la création d'une interface standard, ce qui serait l'avantage de dévier de la norme? Pensez-vous que leur omission augmente la facilité d'utilisation?

Cela dit tout ce que vous pouvez essayer de contribuer un fragment avec un peu AspectJ autour des conseils pour intercepter les appels à setImage () et les opposer son veto.

Vous pouvez le faire en allant dans l'onglet d'extension dans plugin.xml.add l'extension org.eclipse.ui.menu (sinon présent) .Right cliquez sur créer un nouveau menu clic droit contribution.again et créer un nouveau menu .Voici u ont la possibilité de changer les images avec celles enregistrées dans votre dossier icône dans votre chemin de classe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top