2014-07-06 3 views
6

Ich habe einen globalen Befehl für meine e4-Anwendung definiert, nämlich den Befehl add. Wie Sie in my sample application model sehen können, ist der Befehl in der gesamten Anwendung (1) zu verwenden und auf den Reptive-Handler, der bei Kontextwechsel auf die resp. Teile in (2) und (3).UI-Beiträge auf Handler-Switch im e4-Anwendungsmodell aktualisieren

Nun, was ich vermisse, ist die Möglichkeit, alle UI Beiträge wie (4) zu Befehl (1) mit den Informationen wie in (2) hinzufügen Kontakt und beim Wechsel zu (3) hinzufügen Konto zu aktualisieren.

Was ist die allgemeine empfohlene Methode, um alle UI-Beiträge eines Befehls unter Berücksichtigung des tatsächlichen Befehlskontexts (welcher Handler aktiv ist usw.) zu aktualisieren. In Eclipse 3.x hatten wir so etwas wie die IElementUpdater, die sich um das jeweilige Update kümmerte.

Danke für Ihre Hinweise! - Parallel diskutiert in Eclipse Forum

Ich arbeitete an der Suche nach einer Lösung, und habe den aktuellen Zustand in meinem blog umrissen.

+1

Ich bin für e4 nicht bekannt, ein Äquivalent zu IElementUpdater. Sie könnten vielleicht etwas in den Handler @ CanExecute-Methoden tun (beachten Sie, dass Eclipse Luna ändert, wie oft diese aufgerufen werden). –

+0

Danke für den Hinweis, dass @CanExecute nicht mehr gleich aufgerufen wird. Ich untersuche derzeit einige Lösungen, siehe den Link zum Eclipse-Forum. –

+0

Siehe meine Antwort auf http://StackOverflow.com/q/24413817/2670892 für wie Sie Symbolleiste @ CanExecute ausführen –

Antwort

1

Sie können IEventBroker in Ihrer Klasse injizieren und unter Anweisung, wird diese Aussage überprüfen für alle UI-Aktivierung in Anwendung

eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID); 
Verwandte Themen