Frage

Ich arbeite an einer Eclipse-RCP-basierte Anwendung, und wir haben beschlossen, dass wir eine der Menüpunkte nicht wollen Symbole angezeigt werden neben dem Text. Das Problem, das wir sehen, ist, dass die Standardaktionen wie Undo, Redo, Ausschneiden, Kopieren, Einfügen, und so weiter alle für die entsprechenden Aktionen, um die Standardsymbole angezeigt werden.

Gibt es eine Möglichkeit der Aktion-Management-Infrastruktur zu sagen, die Symbole zu ignorieren? Meine Brute-Force-Lösung dieses Problems war die SWT neu zu erstellen, so dass MenuItem.setImage () war ein no-op, und dann unsere eigene Kopie der SWT im Endprodukt enthalten, aber es scheint, als gäbe es eine leichtere Lösung sein sollte .

War es hilfreich?

Lösung

Dies erwies sich als einfacher als ich gehofft hatte.

Erstellen Sie eine Unterklasse von org.eclipse.ui.application.ActionBarAdvisor. Überschreiben Sie die Methode Register wie folgt aus:

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

Dann eine Unterklasse von org.eclipse.ui.application.WorkbenchWindowAdvisor erstellen, die createActionBarAdvisor Vorrang vor:

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

Das ist es. Alle Aktionen werden nicht mehr Symbole.

Andere Tipps

Ich glaube, Sie wollen weiter untersuchen in den manifesten gehen und suchen in org.eclipse.ui.views und sehen, ob es etwas gibt, da für die Symbole zu entfernen

Was ist der Grund für die nicht-Symbole einschließlich? Mit viel Aufwand ging in eine Standard-Schnittstelle zu schaffen, was ist der Nutzen abweichend von der Norm sein würde? Glauben Sie, dass ihre Auslassung Nutzbarkeit erhöht?

Nachdem alles gesagt, dass Sie könnten versuchen, ein Fragment mit einigen AspectJ beitragen um Rat Anrufe setImage abfangen () und sich ein Veto einlegen.

Sie können dies tun, indem Sie in der Verlängerung Registerkarte gehen plugin.xml.add die Verlängerung org.eclipse.ui.menu (falls nicht vorhanden) .RIGHT ein neues Menü contribution.again der rechten Maustaste klicken und erstellen ein neues Menü erstellen .hier u haben die Möglichkeit, die Bilder zu ändern, mit den in Ihrem Symbol Ordner in Ihrem Klassenpfad gespeichert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top