Как я могу изменить меню GWT - выделите серым некоторые записи, поставьте галочку рядом с другими, в соответствии с состоянием моего приложения?
В моем приложении вверху есть строка меню - Файл, Правка, Вид, Вставка, Формат и т. Д. У меня есть несколько абзацев, каждый из которых может иметь свой формат. Когда пользователь нажимает кнопку «Формат», я хочу, чтобы в меню формата рядом с пунктом меню отображался флажок, соответствующий формату выбранного в настоящий момент абзаца. Если некоторые форматы не подходят для выбранного в настоящий момент абзаца, я хочу выделить эти элементы меню серым цветом.
Основная проблема заключается в том, когда выполнять обновление: (a) когда нажимается кнопка меню «Формат» или (b) каждый раз, когда мой пользователь выбирает новый абзац?
Я считаю вариант (а) более привлекательным. Но как я могу это обнаружить? MenuItem не имеет никаких средств для добавления слушателей событий. Это может быть щелчок мышью, который мне нужен, но это может быть mouseOver: если пользователь нажимает на элемент меню «Вставка», появляется меню «Вставка», а затем, если мышь перемещается над «Формат», появляется меню «Формат».
Опция (b) звучит проще, но тратит больше процессорного времени.
Для моего contextMenu (щелчок правой кнопкой мыши по абзацу) это намного проще, поскольку меню создается только тогда, когда происходит щелчок правой кнопкой мыши.
Я использовал символ квадратного корня (& # 8730) для галочки. Кто-нибудь знает более хороший способ? Нужно ли использовать HTML и использовать «Простой формат» для моего пункта меню?
Наконец, есть ли способ отключить (затемнить) пункт меню, чтобы его нельзя было выбрать?