Pulsanti della barra degli strumenti RCP di Eclipse con Eclipse Look
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.
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.