Eclipse RCP Toolbar-Schaltflächen mit dem Eclipse-Blick
Frage
In Eclipse seine einfache Schaltflächen für Ihre Symbolleiste geben Sie den ActionSets Erweiterungspunkt verwendet wird. Allerdings, wenn ich programmatisch einige Elemente angeben muß, kann ich nicht das gleiche Aussehen erhalten. Ich glaube nicht, dass der Rahmen ist mit nativen Tasten für diese, aber so weit, ich kann nicht das richtige Rezept findet den Eclipse-Look passen. Ich wollte sehen, ob jemand den richtigen Code-Schnipsel zu duplizieren diese Funktionalität im Code gefunden hat.
Lösung
Es ist schwierig, aus Ihrer Frage zu sagen, aber es klingt wie Sie eine ControlContribution in die Symbolleiste werden versuchen kann zu addieren und ein Button zurück. Dies würde die Schaltfläche in der Symbolleiste wie eine native Taste erscheinen, wie Sie scheinen zu beschreiben werden. Dies würde in etwa so aussehen:
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
}
});
}
});
Stattdessen sollten Sie eine Aktion zur Symbolleiste hinzufügen. Dies wird eine Schaltfläche in der Symbolleiste erstellen, die den Standard-Eclipse-Symbolleiste Schaltflächen übereinstimmt. Dies würde in etwa so aussehen:
Action myAction = new Action("", imageDesc) {
@Override
public void run() {
// Perform action
}
};
IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(myAction);
Andere Tipps
Könnten Sie vielleicht in einem Auszug des Codes Sie Aktionen für das Hinzufügen der Symbolleiste programmatisch haben setzen? Ich nehme an, Sie tun dies in einer ApplicationActionBarAdvisor Klasse? Die sollten Sie deklarativ Sie programmatisch hinzufügen vs denjenigen hinzufügen, in dem Blick der Tasten keinen Unterschied.