2012-12-12 5 views
9

Ist es möglich, MenuItem (oder zweite Menu) auf der rechten Seite des Anwendungsfensters hinzuzufügen (wie in der Abbildung unten)?Menü auf der rechten Seite?

enter image description here

+0

Sehr interessiert an einer Antwort für einfache SWT, kein RCP. – Baz

Antwort

0

Wenn Sie org.eclipse.ui.menus Erweiterungspunkt verwenden, können Sie toolbar:org.eclipse.ui.trim.command2 als locationURI (siehe this answer für eine Liste von anderen Standorten) setzen.

+0

Aber das funktioniert nur, wenn Sie Eclipse RCP verwenden, oder? – Baz

+0

@Baz Ja, nur in diesem Fall. –

+1

Wenn etwas mit Eclipse RCP funktioniert, das auf SWT basiert, dann gibt es definitiv eine Möglichkeit, dies in SWT zu erreichen. Es wäre gut, sich einen Code anzusehen, um zu sehen, wie Eclipse RCP dies erreicht. –

0

Es scheint, dass es keinen offensichtlichen Weg gibt, dies zu tun. Sie können entweder die Ausrichtung von links nach rechts oder von rechts nach links angeben, aber nicht beide. Es gibt auch kein Füllelement, das wie bei Swing zwischen Menüpunkten platziert werden kann.

+0

Kennen Sie eine Referenz, die dies bestätigt? – Baz

+0

Nun, ich bin gerade durch die Eclipse-Dokumentation gegangen, also ist das meine Referenz. – tcb

1

Eine Teilantwort auf Ihre Fragen ist, dass eine zweite Menüleiste nicht hinzugefügt werden kann. Referenz here.

Jede Shell kann optional eine einzelne Menüleiste mit der Methode setMenuBar (Menu menuBar) von Shell anzeigen. Es ist möglich, viele Menüleisten in einer Shell zu erstellen, aber nur jeweils eine in einer Shell.

Vielleicht können Sie versuchen, ein zweites Shell-Fenster erstellen, die den Ort schweben über, wo Sie Ihren zweiter (rechtsbündig) Menü. Sie müssen sicherstellen, dass diese Shell immer an dieser bestimmten Ecke des Fensters hängt. Sie könnten Probleme haben, wenn die Größe der Haupt-Shell reduziert wird, wodurch sich ein Menü überlappen könnte. Keine schöne Lösung. Vielleicht benutzen Sie stattdessen eine Werkzeugleiste mit einem Füllelement (SWT#SEPARATOR_FILL)?

+0

Nur aus Neugier: Haben Sie die RCP-Implementierung überprüft? – Baz

+0

Nun, die RCP-Implementierung fügt sich über diesen Erweiterungspunkt in die Toolbar ein, was mit SWT (mit der Toolbar) leicht möglich ist, so dass ich nicht das Gefühl hatte, dass ich mich weiter mit der Implementierung befassen müsste. –