Utworzony element menu w menu "Plik" jako polecenie. Dla tego polecenia istnieje program obsługujący interfejs IHandler
. Ten przewodnik zawiera metodę isEnabled
. Próbuję użyć tej metody, aby włączyć/wyłączyć mój element menu, ale ta metoda jest wywoływana tylko raz, gdy klikam menu "Plik". Po kliknięciu na drugi, trzeci itd., Metoda isEnabled
nie jest wywoływana ponownie, nawet jeśli wcześniej zmieniłem stan strony (edytuj otwieranie/zamykanie).Zaktualizuj element menu Eclipse włączony
Co należy zrobić? Może ta metoda nie jest przeznaczona do kontrolowania pozycji menu?
Co zrobić, jeśli mam uchwyt do MenuManager, jak mogę programowo włączyć/wyłączyć element menu? – Neel
@Neel (w powyższym przykładzie) powinieneś zadzwonić do CommandState.setNotLoaded(), która zmieni wartość zmiennej "myapp.commands.sourceprovider.active" na NOT_LOADED, która z kolei zostanie wykryta przez warunek w module obsługi . Warunek w procedurze stwierdza, że jeśli "myapp.commands.sourceprovider.active" nie jest równe PLAYING lub PAUSED, przycisk powinien być nieaktywny (tak wyłączony). W skrócie, użyj klasy provider (tutaj, CommandState), aby zmienić wartość zmiennej, która wyzwala procedurę obsługi. –