Domanda

In Eclipse, è facile specificare i pulsanti per la barra degli strumenti utilizzando il punto di estensione ActionSets. Tuttavia, quando devo specificare alcuni elementi a livello di codice, non riesco a ottenere lo stesso aspetto. Non credo che il framework stia usando pulsanti nativi per questi, ma finora non riesco a trovare la ricetta giusta per abbinare l'aspetto di Eclipse. Volevo vedere se qualcuno ha trovato lo snippet giusto per duplicare questa funzionalità nel codice.

È stato utile?

Soluzione

È difficile capire dalla tua domanda, ma sembra che tu stia tentando di aggiungere un ControlContribution alla barra degli strumenti e di restituire un pulsante. Ciò farebbe apparire il pulsante sulla barra degli strumenti come un pulsante nativo come sembra descriverti. Questo sarebbe simile a questo:

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
            }
        });
     }
});

Invece dovresti aggiungere un'azione alla barra degli strumenti. Questo creerà un pulsante sulla barra degli strumenti che corrisponde ai pulsanti standard della barra degli strumenti dell'eclissi. Questo sarebbe simile a questo:

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

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

Altri suggerimenti

Potresti forse inserire un estratto del codice che hai per aggiungere azioni a livello di codice alla barra degli strumenti? Presumo che lo facciate in una classe ApplicationActionBarAdvisor ? Il loro aspetto non dovrebbe fare alcuna differenza nell'aspetto dei pulsanti aggiunti in modo dichiarativo rispetto a quelli aggiunti in modo programmatico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top