Удобство использования встроенной панели инструментов - PullRequest
0 голосов
/ 06 июля 2010

У меня есть объект, который можно изменить, сохранить и удалить, поэтому было бы уместно, чтобы в верхней части окна была панель инструментов, на которой можно нажать одну из этих кнопок действий.Родительская сущность может быть отправлена.

Однако у этой сущности также есть дочерние сущности, которые можно изменять, сохранять и удалять.Рекомендуется ли для удобства использования иметь сетку дочерних сущностей на экране родительской сущности, а затем открывать новое окно со значениями дочерних сущностей (которые можно сохранить, удалить и т. Д.), Или можно использовать другую панель инструментов для этих дочерних сущностей?,Каждая дочерняя сущность может быть отправлена.

Например (встроенный):

//

[Родительская сущность]

| ------------------ Панель инструментов -------------------- |

[Новый дочерний объект] [Сохранить] [Удалить] [Отправить]

| ------------------ Панель инструментов --------------------|

[Поля родительских сущностей]

[Сетка дочерних сущностей]

| ------------------ Дочерняя сущностьПанель инструментов -------------------- |

[Сохранить] [Удалить] [Отправить]

| ------------------ Панель инструментов дочернего объекта -------------------- |

[Поля дочернего объекта]

//

Вы бы выбрали дочернюю сущность из сетки, в которой были бы установлены поля дочерней сущности.

У меня есть дочерняя сущность в качестве отдельного окна, но я не хочунесколько всплывающих окон.Есть ли руководство, сколько всплывающих окон можно использовать?

Спасибо

1 Ответ

1 голос
/ 06 июля 2010

Как правило, лучший баланс - это иметь сетки родительских и дочерних объектов на одной странице с возможностью редактирования на месте для родительских и дочерних сеток. одиночное меню / панель инструментов вверху относится к обеим сеткам.Это довольно распространенная практика с отношениями мастер-деталь, как вы описываете для своего приложения.Например, он используется Windows Explorer и Microsoft Outlook.

Команда Сохранить сохраняет любые изменения с момента последнего сохранения, будь то создание, изменение или удаление родителей, детей или смеси.Удалить удаляет все, что выбрано в настоящее время - один или несколько родителей, один или несколько дочерних элементов или даже выделенный текст в атрибуте (например, содержимое текстового поля).Команда New (или Create или Insert) создает новую сущность по умолчанию для любой сетки, которая имеет фокус.Этот дизайн предоставляет пользователям:

  • Один простой набор команд - например, нет необходимости отличать «Отправить» от «Сохранить».Есть гарантия «просто сохранить это» одним щелчком мыши.

  • Минимальный беспорядок и наименьшее количество избыточных панелей инструментов, позволяющие пользователям видеть и манипулировать как можно большим количеством объектов данных с минимальной прокруткой или другими манипуляциями.1017 *

  • Минимальные усилия по навигации и затраты на обучение - не нужно изучать отдельные окна (несколько всплывающих окон, которых вы по праву хотите избегать) или команды для родительских и дочерних объектов.

  • Нет режимов, которые могут снизить гибкость, нарушить поток пользователя или последовательность действий или даже принудительно уничтожить его работу (например, они не могут представить новый объект из-за нарушения ключа с другим устаревшим объектом, ноони могут удалить устаревший объект, потому что они находятся в режиме создания нового объекта).

Основной недостаток заключается в том, что пользователи могут запутать, какой объект (ы) команды панели инструментовв настоящее время применяются в отношении.Вы не хотите, чтобы они думали, что они удаляют потомка, когда они фактически удаляют родителя (вместе со всеми его потомками).Чтобы избежать этого, вам необходимо использовать соответствующий графический дизайн, чтобы:

  • Уточнить, что именно выбрано: весь родительский элемент, весь дочерний элемент или атрибут внутри объекта.Только одна вещь должна отображаться выделенной одновременно.Будьте последовательны, обычно используйте одноцветное обратное видео (светлое на темном) для всего выбранного контента и избегайте использования обратного видео для чего-либо еще.Рекомендуется использовать маркер текущей записи сетки или « объект управления », чтобы отличить выбор объекта (всей строки сетки) от атрибута в строке.

  • Различатьмежду active parent и selected parent.Активный родитель - это тот, кто связан с тем, что вы показываете в дочерней сетке.Всегда есть ровно один активный родитель.Выбранный родитель - это тот, который явно выбран пользователем (например, щелкнув элемент управления объекта или маркер текущей записи) для какого-либо действия, такого как Удалить.Там может быть или не быть выбранным родителем.Может быть несколько выбранных родителей (например, по нажатию на клавишу «Shift» или «Control»).Обычно активный родитель имеет более тонкую графику, чем выбранный родитель.Простой маркер текущей записи (например, стрелка в левом поле) может быть достаточным.Посмотрите на файловые менеджеры, такие как Windows Explorer (где папки - родительские, а файлы - дочерние), чтобы найти другие идеи для отличия активных от выбранных.

  • Возможно резервное копирование этой графики с помощью динамическогоярлыки панели управления.Когда родительский элемент активен в виде сетки, пометьте Удалить как «Удалить [Имя родительского класса]», а также, когда дочерняя сетка активна.Используйте подсказки, если места недостаточно для текста.

  • Включите средства дляуказать текущую сетку (это прежде всего необходимо для сигнализации о том, какие сущности создаст New). Может быть достаточно расширенной границы вокруг сетки или заголовка сетки. В противном случае также может быть полезно выделить заголовок сетки (аналогично тому, как это делается для активных окон).

  • Обеспечить отмену. Если пользователь случайно сдувает родителя, когда ребенок предназначен, то один щелчок должен обратить вспять ущерб. Все богатые приложения должны быть отменены в любом случае. При необходимости также включите предупреждение об удалении родительского или дочернего элемента (в отличие от удаления некоторого текста атрибута сущности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...