Парадигмы в макете / дизайне строки меню - PullRequest
2 голосов
/ 10 февраля 2010

Выполнение некоторой реструктуризации в строке меню «Мои приложения». При рассмотрении других приложений, кажется, есть два разных способа структурирования.

Либо наиболее распространенный способ «старой школы», глагол / команда, за которой следует субъект. То есть что ты хочешь делать и что ты хочешь делать это дальше. Вот так:

  • Файл
    • Новый
      • Foo
      • Бар
    • Open
      • Foo
      • Бар
    • Quit

Или тот, который иногда пробуют новые приложения, возможно, с тех пор, как Microsoft представила свою структуру ribbon . То есть с чем вы хотите работать и какую операцию вы хотите выполнить на этом. Вот так:

  • Файл
    • Quit
  • Foo
    • New
    • Open
  • Бар
    • New
    • Open

Установлены ли эти две парадигмы? У них есть имя? Помог бы мне сослаться на них и их различия.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2010

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

Тем не менее, многие иерархии меню, в том числе «старая школа», выиграют от «выравнивания» - от расширения на каждом уровне и менее глубокой. Глубокие иерархии означают каскадные меню, которые медленные и неудобные в использовании. Несколько опций на верхнем уровне означают общие расплывчатые метки, которые дают очень мало информационного запаха (что в любом случае означает Файл ?).

Есть несколько способов исправить это, все еще организуя строку меню по типу действия. Во-первых, существует простое выравнивание меню «Файл» старой школы, во многом как в Firefox:

  • Файл
    • Новый Foo
    • Новый бар
    • Открыть Foo
    • Открытый бар
    • Выход

Проблема заключается в том, что традиционное меню «Файл» предназначалось для «документов» приложений, которые работают только с одним основным классом объектов. Например, текстовые процессоры работают с бумагами, программы для работы с электронными таблицами работают с листами, редакторы изображений работают с изображениями и так далее. Файл становится громоздким, когда есть несколько основных классов. Два класса не проблема, но три или более.

В некоторых случаях лучше воспользоваться подходом «suite» и создать видимость, что у вас есть отдельная программа для каждого класса объектов. Уберите выбор класса объекта из строки меню и поместите его в меню «Пуск», где вы установили ярлыки, соответствующие каждому классу объектов, которые открывают главное окно для этого класса. Каждое из этих «приложений» имеет только New и Open, действующие только в своем классе:

  • Файл
    • New
    • Open
    • Выйти

В некотором смысле вы расширили меню над строкой меню в иерархии. Это полностью соответствует другим настольным приложениям. Это привлекательный вариант, если пользователи склонны работать только с одним классом для сеанса. Частые поездки в меню «Пуск» стареют.

Если вам нужно сохранить все в строке меню, вы можете развернуть меню Файл вдоль строки меню.

  • Файл
    • Сохранить
    • Печать
    • Quit
  • Новый
    • Foo
    • Бар
  • Open
    • Foo
    • Бар

Многие приложения с несколькими основными классами являются приложениями базы данных, в которых каждое окно показывает несколько объектов (записей базы данных). То, что пользователь «открывает» - это не отдельный файл, а результат запроса . Как правило, пользователь почти никогда не использует пустое окно. Даже для ввода данных часто полезно и редко вредно показывать результаты запроса по умолчанию, чтобы обеспечить некоторый контекст (например, записи, введенные в прошлый раз). Если пользователь хочет добавить новую запись к уже показанным, это действие в разделе «Правка», а не «Файл». Таким образом, мы можем устранить Новое.

  • Программа
    • Foos
    • Бары
    • Quit
  • Файл
    • Запрос
    • Закрыть

Предлагаю вам взять реплику с Mac OSXи иметь меню программы для выхода (в OSX название приложения является заголовком меню). В меню «Программы» есть пункты меню, помеченные их классом объектов, но это действия - они открывают окна Foo и Bar соответственно. Вы либо заполняете эти окна результатом запроса по умолчанию (который может быть пустым), либо автоматически показывает диалог запроса для выбора пользователем. Пункт меню «Запрос» в разделе «Файл» открывает это диалоговое окно, чтобы пользователь мог изменить запрос для окна в любое время. Этот диалог может включать опцию Пустой для крайних случаев, когда пользователям необходимо пустое окно.

0 голосов
/ 10 февраля 2010

Я думаю, это более личное предпочтение. Как вы думаете, будет лучше всего? Если вы не внедряете графический интерфейс ленты в свое приложение, нет необходимости копировать их структуру.

Лично я бы выбрал первый вариант - «старая школа», я считаю это более простым и наиболее прагматичным подходом к проблеме.

...