Контекстные меню, Disable vs Visible и уровень вложенности
От: orangy Россия
Дата: 22.11.06 18:16
Оценка:
Есть некоторая проблема, помогите разрешить, пожалуйста.

ReSharper, контекстное меню в Type Hierarchy на типе.
В этом месте можно произвести:
1. выбор главного элемента (от которого считаются подтипы или базовые)
2. поиск использований типа
3. некий набор рефакторингов

Вот с последним пунктом проблема. Далеко не все рефакторинги доступны над каждым конкретным элементом. Предлагается два варианта:

1. Доступные рефакторинги встроены прямо в меню, недоступные не видны.


2. Вместо доступных рефакторингов — пункт меню, который раскрывается во все рефакторинги, которые соответствующим образом разрешены/запрещены



Вариант номер 1 плох тем, что содержимое менюшки от клика к клику (на разных элементах дерева) может очень сильно меняться. Ну то есть конкретно в Type Hierarchy — не сильно, а в остальных аналогичных местах, например в File Structure, весьма значительно. Также он плох тем, что из-за прятания некоторых пунктов расположение других, последующих пунктов меняется, что ухудшает использование моторной памяти. Хорош он тем, что за один клик можно произвести нужное действие.

Вариант номер 2 плох тем, что нужно больше кликов, чтобы добраться до нужного места, плюс повозить мышкой раскрывая подменю, попадая в нужные точки. Также он громоздок и занимает много места. С другой стороны, моторные рефлексы всегда одинаковы — пункты меню не прячутся. Disabled статус показывает, что такой рефакторинг бывает, но в данном случае он не применим.

Может есть у кого свежие мысли, как сделать Совсем Хорошо? Ну или хотя бы дополнительные аргументы за/против обоих пунктов...
Спасибо.
... << RSDN@Home 1.2.0 alpha rev. 655>>
"Develop with pleasure!"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.