Элементы управления отображением

Элементы управления отображениемиспользуются для отображения и управления визуальным представлением информации на экране. Типичными примерами элементов отображения являются разделите' ли (splitters) и полосы прокрутки (scrollbars). Элементы, которые управляют способом визуального отображения объектов на экране, так же относятся к этой категории, как и те, что отображают статиче' скую информацию, доступную только для чтения. Сюда входят разде' лители страниц, линейки, направляющие, сетки, рамки, а также трехмерные вдавленные и выпуклые линии. Мы не будем обсуждать все эти элементы подробно, а сосредоточимся лишь на тех из них, ко' торые вызывают наибольшие затруднения.

Текстовые элементы

Вероятно, самый простой элемент управления отображением – эле- мент вывода текстовой информации, который отображает текстовое сообщение в некоторой позиции на экране. Задача, которая возложена на этот элемент управления, довольно прозаическая – предоставить текстовые метки для других элементов управления и вывести данные, которые не могут или не должны быть изменены пользователем.

Единственная серьезная проблема этого элемента состоит в том, что он зачастую используется там, где должны присутствовать элементы вво' да (и наоборот). В массе своей информация, сохраняемая в компьюте' ре, может быть изменена пользователем. Так почему бы не позволять пользователю изменять ее в том же самом месте, где программа ее ото' бражает? Почему механизм ввода значения должен отличаться от ме' ханизма вывода? Во многих случаях не имеет смысла разделять эти две взаимосвязанные функции. В большинстве ситуаций там, где про' грамма отображает значение, которое может быть изменено, она обяза' на сделать его доступным для редактирования – с помощью элемента ввода. Благодаря этому пользователь сможет щелкнуть по значению

и изменить его. Специальные режимы редактирования практически всегда оказываются интерфейсным налогом.

В течение многих лет Adobe Photoshop настаивала на открытии диало' гового окна при создании форматированного текста. Пользователь не мог точно увидеть, как будет выглядеть текст, наложенный на изобра' жение, что вынуждало его повторять процедуру ввода снова и снова, методом проб и ошибок добиваясь приемлемых результатов. В конце концов Adobe устранила эту проблему, позволив пользователю вво' дить форматированный текст непосредственно в изображение, в пол' ном соответствии с принципом WYSIWYG (what you see is what you get – «что видите, то и получаете»), как это и должно быть.

Полосы прокрутки

Полосы прокрутки в современном графическом пользовательском ин' терфейсе служат крайне важной цели – они позволяют осмысленным образом помещать большие объемы информации внутри крохотных рамок окон и панелей. К сожалению, они также расходуют экранное пространство, ими сложно манипулировать, и они обычно вызывают недовольство пользователей. Несомненно, полосы прокрутки часто ис' пользуются сверх меры и, кроме того, плохо изучены. Применение же полос прокрутки как средства навигации по содержимому окна и до' кумента – то есть как элемента управления отображением – полно' стью оправданно.

Замечательное преимущество полосы прокрутки, кроме ее почти уни' версальной доступности, состоит в создании контекста текущего поло' жения в окне. Бегунокполосы прокрутки – это маленький перемещае' мый прямоугольник, который указывает текущее положение и неред' ко масштаб «территории», доступной для прокрутки.

Многие полосы прокрутки скупы на информацию. Лучшие полосы про' крутки задействуют бегунки, размер которых изменяется пропорцио' нально размеру просматриваемого документа, а кроме того сообщают:

• сколько всего страниц содержится в документе;

• номер текущей страницы (записи, картинки) по мере перемещения бегунка;

• первое предложение (или элемент) на каждой странице по мере пе' ремещения бегунка.

В то же время типичная полоса прокрутки имеет достаточно ограни' ченные функциональные возможности. Чтобы помочь нам в навига' ции внутри документов, она должна предоставить нам мощные инст' рументы для мгновенных перемещений. Например:

• предусмотреть кнопки для перехода к нужной странице/главе/раз' делу/ключевому слову;

• предусмотреть кнопки для перехода в начало или в конец документа;

• дать возможность устанавливать закладки, к которым можно будет быстро вернуться.

Полосы прокрутки последних версий Microsoft Word содержат боль' шинство из этих возможностей.

Если отвлечься от недостатков контекстуального характера, одна из самых серьезных проблем полосы прокрутки состоит в том, что она требует прецизионных движений мышью. Прокрутка документа в од- ну сторону (вниз или вверх) – обычно гораздо более простая операция, чем прокрутка документа туда-сюда. Вам приходится позициониро' вать курсор более внимательно, неизбежно отвлекаясь от содержимого листаемого документа. Некоторые полосы прокрутки дублируют обе кнопки, управляющие прокруткой вверх и вниз, на обоих концах по' лосы. Для полноэкранных окон это может быть удобным, но для ма' леньких окон такое дублирование элементов управления, вероятно, излишне и просто загромождает экранное пространство (более подроб' ное обсуждение этой идиомы содержится в главе 19 и на рис. 19.1).

Повсеместное распространение полос прокрутки, к сожалению, приве' ло к некоторому злоупотреблению ими. Самое распространенное зло' употребление связано с навигацией во времени. Не вдаваясь в филосо' фию и теологию, мы, пожалуй, можем сойтись на том, что время не имеет осмысленного начала или конца (по крайней мере для человече' ского мозга). Какое же в этом случае значение имеет перемещение бе' гунка в один из концов полосы прокрутки календаря (рис. 21.21)?

Существуют жизнеспособные альтернативы полосам прокрутки. Одна из лучших альтернатив – навигатор документа –небольшая миниа' тюра полного документа, обеспечивающая возможность прямой нави' гации в различные точки этого документа (рис. 21.22). Во многих при' ложениях для работы с изображениями (к примеру, в Photoshop) дан' ный элемент управления применяется для навигации по документу, выведенному в крупном масштабе. Навигаторы могут быть очень по' лезны и при работе с временны‘ми шкалами аудио' и видеопотоков. Ус' пех подобных идиом в первую очередь кроется в их способности выра' зительно представлять общую картину документа. По этой причине навигатор не всегда годится для представления длинных текстовых документов. В таких случаях полезной альтернативой полосам про' крутки может стать структура документа. Простейший пример этого подхода – представление структуры в Microsoft Word (задумка хоро' шая, но результат имеет ограниченную пригодность, поскольку разра' ботчики решили, что отображения заслуживают только заголовки первого и второго уровня).

Разделители

Разделители – удобный инструмент для разделения главного окна приложения на несколько связанных между собой панелей, в каждой из которых можно просматривать, изменять или переносить ту или

Элементы управления отображением - student2.ru

Рис. 21.21. Вот демонстрация недостатков использования полосы прокрутки в целях навигации в бесконечном потоке времени. Перетаскива- ние бегунка в самый конец полосы прокрутки переносит пользователя

на один год в будущее. Такое решение кажется взятым с потолка и накладывает ненужные ограничения

иную информацию. Подвижные разделители всегда должны сообщать о своей подвижности посредством изменения формы курсора. Сущест' вует соблазн сделать все разделители подвижными, и это делается дос' таточно просто. Однако следует проявлять осторожность, выбирая, ка' кие именно разделители должны стать подвижными. В общем случае разделитель не должен перемещаться таким образом, чтобы содержи' мое панели становилось непригодным к использованию. Когда некото' рые области окна необходимо сворачивать, выдвижная панель может оказаться более подходящей идиомой.

Выдвижные панели и рычажки

Выдвижные панели– это панели монопольного приложения, которые можно открывать и закрывать в одно действие. Они могут использо' ваться совместно с разделителями, когда площадь выдвижной панели может изменяться пользователем. Обычно выдвижная панель откры' вается нажатием на расположенный рядом элемент управления. Этот элемент управления должен быть постоянно на виду и может быть

Элементы управления отображением - student2.ru

Рис. 21.22. В Ableton Live навигатор документа располагается вверху экрана аранжировки и дает обзор всей композиции. Черная рамка обозначает ту часть композиции, которая в данный момент видна в рабочей области.

Навигатор снабжает пользователя контекстной информацией, не позволяя ему потерять место в партитуре, а также предлагает идиому прямой навигации – пользователю достаточно просто переместить рамку

в навигаторе, чтобы перейти к другому фрагменту композиции

представлен или бинарной кнопкой (либо кнопкой'значком), или же рычажком,который ведет себя подобным же образом, но при этом по' ворачивается, чтобы показать, что выдвижная панель открыта или, соответственно, закрыта.

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

Хотя общие принципы, обсуждавшиеся в этой книге, способны дать значительное преимущество при создании продуктов, которые будут нравиться пользователям и приносить им удовлетворение, важно пом' нить, что все дело в мелочах. Неудобные элементы управления создают постоянный фон раздраженности, даже если общая концепция продук' та просто превосходна. Убедитесь, что вы расставили все точки над i, и обеспечьте корректное поведение всех элементов управления.

Меню

Меню – вероятно, самая древняя идиома пантеона графических поль' зовательских интерфейсов. Она окружена почетом, суевериями и на' учными знаниями. Большинство проектировщиков, программистов и пользователей безоговорочно верят в правильность традиционных меню – ведь она доказана существованием огромного количества про' грамм. Но эта вера походит на попытки отгонять тигра, щелкая паль' цами. Вы говорите – никаких тигров здесь нет? Ну вот, щелчок пальца' ми работает! В определенных случаях хорошо спроектированное меню может быть крайне полезным способом обеспечения доступа к функ' циям приложения. Мы начнем главу с краткой истории вопроса, а за' тем обсудим проблемы, связанные с меню, и рассмотрим правильные способы их использования.

Немного истории

Сегодняшние графические пользовательские интерфейсы и диалого' вые окна активно используются лишь с 1984 года, когда они были представлены на платформе Macintosh. Однако они получили такое широкое распространение, что их легко принять за данность. Прежде чем перейти к подробному рассмотрению современных идиом меню, будет полезно оглянуться назад и окинуть взглядом путь, по которому мы пришли к этим идиомам. Это позволит нам лучше понять преиму' щества и возможные недостатки меню.

Интерфейс командной строки

В семидесятые годы прошлого века, чтобы пообщаться с ЭВМ произ' водства IBM, вы должны были вручную набить на перфораторе колоду перфокарт, воспользовавшись запутанным языком JCL (job control language – язык управления заданиями), и вставить эту самую колоду

перфокарт в шумное механическое устройство считывания. Каждая строка программы на языке JCL должна была быть пробита на отдель' ной перфокарте. Даже первые микрокомпьютеры, маленькие, медлен' ные и глупые, работавшие под управлением примитивной операцион' ной системы CP/М, были гораздо приятнее в общении, чем эти непово' ротливые динозавры в охлаждаемых стеклянных пещерах. С микро' компьютерами под управлением CP/M можно было общаться, набирая команды со стандартной клавиатуры. Это же чудо! Программа выво' дила на экран приглашение к вводу, которое выглядело следующим образом:

A>

В ответ на приглашение можно было вводить имена программ, хра' нившихся в виде файлов, а также обычные команды – и CP/M испол' няла их. Этот интерфейс мы называли интерфейсом командной стро- кии считали его огромным шагом вперед в организации общения меж' ду машиной и человеком.

Единственный недостаток состоял в том, что вы должны были заранее знать, что вводить. Для опытных пользователей, которые в те времена главным образом были представлены программистами, командная строка была чрезвычайно мощным и эффективным средством, по' скольку предоставляла самый быстрый и самый эффективный способ исполнения требуемых задач. Положив руки на клавиатуру и пользу' ясь преимуществами слепого набора, пользователь мог быстро задать команду copy a:*.* b:, чтобы скопировать диск. Даже сегодня, обла' дая необходимыми знаниями о наборе команд, пользователи могут бы' стрее (и часто эффективнее) решать задачи из командной строки, чем с помощью многочисленных операций, выполняемых мышью.

Интерфейс командной строки действительно делил пользователей на мужчин (и женщин) с одной стороны и компьютерных ботаников с дру' гой. Но с ростом возможностей и сложности программного обеспече' ния интерфейс командной строки стал создавать слишком большую нагрузку на память – и настало время уступить дорогу чему'то более совершенному.

Наши рекомендации