Question

Dans Eclipse, il est facile de spécifier des boutons pour votre barre d'outils à l'aide du point d'extension ActionSets. Toutefois, lorsque je dois spécifier certains éléments par programme, je ne peux pas obtenir le même aspect. Je ne crois pas que le cadre utilise des boutons natifs pour ces éléments, mais je n’ai pas encore trouvé la bonne recette pour correspondre au look Eclipse. Je voulais voir si quelqu'un avait trouvé le bon extrait pour dupliquer cette fonctionnalité dans le code.

Était-ce utile?

La solution

Il est difficile de dire à partir de votre question, mais il semblerait que vous tentiez peut-être d’ajouter un ControlContribution à la barre d’outils et de renvoyer un bouton. Cela ferait apparaître le bouton de la barre d’outils comme un bouton natif que vous semblez décrire. Cela ressemblerait à quelque chose comme ceci:

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(new ControlContribution("Toggle Chart") {
    @Override
    protected Control createControl(Composite parent)
    {
        Button button = new Button(parent, SWT.PUSH);
        button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
                // Perform action
            }
        });
     }
});

Au lieu de cela, vous devez ajouter une action à la barre d’outils. Cela créera un bouton sur la barre d'outils qui correspond aux boutons standard de la barre d'outils Eclipse. Cela ressemblerait à quelque chose comme ceci:

Action myAction = new Action("", imageDesc) {
    @Override
    public void run() {
        // Perform action
    }
};

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(myAction);

Autres conseils

Pourriez-vous peut-être insérer un extrait du code que vous avez pour ajouter des actions par programme à la barre d’outils? Je suppose que vous faites cela dans une classe ApplicationActionBarAdvisor ? Il ne devrait y avoir aucune différence dans l’apparence des boutons que vous ajoutez de manière déclarative par rapport à ceux que vous ajoutez par programmation.

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