Главная страница

П_К_Лекц_ї. Что такое интерфейс


Скачать 1.02 Mb.
НазваниеЧто такое интерфейс
Дата22.02.2022
Размер1.02 Mb.
Формат файлаdoc
Имя файлаП_К_Лекц_ї.doc
ТипДокументы
#369831
страница7 из 14
1   2   3   4   5   6   7   8   9   10   ...   14

Ускоренный выбор

Двойной щелчок ЛКМ представляет собой ускоренный способ выбора объекта. При работе с текстом этот прием обычно используется для выбора слова (без включения знаков пунктуации).

Вы можете определить дополнительный ускоренный способ выбора для некоторых специфических ситуаций. Например, выбор пользователем заголовка столбца может одновременно обеспечить выбор всего столбца. Поскольку такие средства не могут быть распространены на весь интерфейс, не используйте их в качестве единственного способа указания области выбора.
3.5. ОБЩИЕ ПРАВИЛА ВЗАИМОДЕЙСТВИЯ С ОБЪЕКТАМИ

Существуют различные способы организации интерфейса пользователя для выполнения операций над объектами:

прямое манипулирование объектами,

выбор команд из меню,

посредством диалоговых панелей и,

наконец, описание требуемых операций на каком-либо языке программирования. Использование в приложении любого из перечисленных подходов не исключает возможности совмещения его с другой техникой. Например, пользователь может изменять размер окна, либо используя команду Размер, либо перемещая границу окна с помощью мыши.

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

ОПЕРАЦИИ МНОЖЕСТВЕННОГО ВЫБОРА

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

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

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

Объект может иметь предопределенные операции. Предопределенные операции

это операции, выполняемые над объектом по умолчанию, когда пользователь использует технику ускоренного взаимодействия с данным объектом (в частности, двойной щелчок ЛКМ). Например, двойной щелчок ЛКМ на пиктограмме каталога файлов приводит к открытию окна с содержимым этого каталога; при редактировании текста двойной щелчок ЛКМ обеспечивает выбор слова. Для различных объектов могут использоваться разные предопределенные операции; в приведенном выше примере в качестве предопределенной операции для каталога выполнялась команда Открыть, а для текста — Выбрать.

Аналогично, когда пользователь перемещает объект в новую позицию с помощью мыши, используя технику drag-and-drop(«перетащи и оставь»), поведение объекта зависит от установленной для него предопределенной операции. Перетаскивание объекта в некоторую позицию может быть проинтерпретировано, в частности, и как перемещение, и как копирование, и как связывание с другим объектом. В данном случае выполняемая предопределенная операция зависит от позиции, куда был перемещен объект.

ОПЕРАЦИИ ПРОСМОТРА

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

Таблиц а 3.4 Операции просмотра

Операция(команда)

Действие

Открыть (Open)

Открывает первичное окно объекта. Для контейнерных объектов, таких как папки и документы, это окно отображает содержимое объекта.

Закрыть (Close)

Закрывает окно

Свойства (Properties)

Отображает свойства объекта в соответствующем окне, как правило, в окне панели свойств

Помощь (Help)

Отображает окно с контекстной справочной информацией об объекте

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

Если пользователь, запустив приложение, успел вернуться к работе с другим ок­ном прежде, чем открылось новое окно, то при открытии нового окна оно не должно «заслонить» активное окно. Например, если пользователь, открыв окно А, затем от­крывает окно В, то окно В появляется поверх окна А. Если же пользователь щелкнет мышью в окне А прежде, чем откроется окно В, то окно В появляется «за» окном А.

Повторное выполнение команды, с помощью которой было открыто окно, долж­но активизировать существующее окно вместо открытия другого экземпляра окна. Например, если пользователь выбирает команду Свойства для объекта, панель свойств которого уже открыта, активизируется существующая панель, а не откры­вается второе аналогичное окно.

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

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

Именно поэтому во вторичных окнах не рекомендуется использовать слово «Зак­рыть» для обозначения кнопок, связанных с закрытием окна (но не приложения!); более подходящими в этом случае являются надписи «Применить», «О К», «Отме­нить» и т.п. Не рекомендуется также использовать команду Закрыть в качестве эквивалента команды Отменить. Тем не менее, побочный эффект закрытия окна с помощью команды Закрыть зависит от текущей ситуации. Если в окне имеются внесенные изменения, которые еще не переданы приложе­нию, и пользователь выбирает команду Закрыть, то эти изменения будут потеряны; чтобы предотвратить такую ситуацию, следует вывести на экран сообщение с просьбой уточнить, хочет ли пользователь применить или отвергнуть изменения, либо вообще отложить выполнение команды Закрыть.

ОПЕРАЦИИ РЕДАКТИРОВАНИЯ

Редактирование предполагает изменение (дополнение, удаление, замену) одно­го или нескольких свойств объекта либо его структуры. Другими словами, не вся­кое изменение может трактоваться как редактирование объекта. Например, изме­нение формы представления документа на экране (в частности, увеличение масштаба), не затрагивающее его содержания, не является редактированием. Сле­дующие разделы раскрывают некоторую общую технику взаимодействия пользо­вателя с приложением при редактировании объектов.

ТРАНЗАКЦИИ

Транзакция представляет собой единичное действие по изменению объекта. Сте­пень детализации такого изменения может быть различной, а его результат может опре­деляться выполнением как одной, так и нескольких совмещенных операций. Выполня­емые пользователем транзакции (допустимые) должны немедленно приводить к изменению объекта, и пользователь должен видеть их результат; если же транзакция недопустима для данного объекта, необходимо сразу же сообщить об этом пользовате­лю. Другими словами, в любом случае при выполнении транзакции должна осуществ­ляться обратная связь между приложением и пользователем. Кроме того, пользователь должен иметь возможность отменить результат транзакции (внесенные изменения), восстановив предыдущее состояние объекта. Если пользователь закрывает окно, в ко­тором имеются изменения, следует спросить у него, нужно ли их сохранить.

Для сохранения изменений на файловом уровне рекомендуется использовать следующие команды (табл. 3.6).

Таблица 3.6.

Команды сохранения изменений на уровне файла

Команда

Функция

Сохранить (Save)

Сохраняет все временные изменения на диске и начинает новый сеанс редактирования.

Сохранить Как (Save as)

Сохраняет файл (со всеми временными изменениями) под другим именем и начинает новый сеанс редактирования

Закрыть (Close)

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

Команду Сохранить следует использовать в тех случаях, когда внесенные изме­нения относятся к файлу в целом, например, ко всему документу, и могут быть реализованы одновременно.

Если же выполненная транзакция относится к отдельной записи в файле, то примене­ние команды Сохранить не целесообразно. Для управления выполнением транзакций внутри файла рекомендуется использовать команды, перечисленные ниже (табл. 3.7).

Таблица 3.7. Команды сохранения изменений на уровне транзакций

Команда

Функция

Повторить (Repeat)

Дублирует последнюю транзакцию

Отменить(Undo)

Отменяет результат последней (или какой-то определенной) транзакции

Восстановить (Redo)

Восстанавливает результат последней (или какой-то конкретной) отмененной транзакции

OK

Реализует внесенные изменения и закрывает окно

Применить (Apply)

Реализует внесенные изменения, но не закрывает окно

Отменить (Cancel)

Отменяет внесенные изменения и закрывает окно

Рекомендуемыми командами для управления процессами являются следующие (табл. 3.8).


Табл и ца 3.8. Команды управления процессами

Команда

Функция

Пауза (Pause)

Приостанавливает процесс

Продолжить (Resume)

Возобновляет приостановленный процесс

Останов (Stop)

Останавливает процесс

Хотя для остановки процесса может быть использована команда Отменить, не­обходимо учитывать, что она не только останавливает процесс, но и возвращает его в исходное состояние.

ПРОСМОТР И РЕДАКТИРОВАНИЕ СВОЙСТВ ОБЪЕКТОВ

Определение и согласование свойств компонентов приложения являются клю­чевыми вопросами при реализации DCD-технологии. Для изменения или переоп­ределения свойств конкретного объекта (или объектов) используются такие ко­манды, как Свойства, Сведения, Общие сведения и Формат. Команда Свойства является общей командой для доступа к свойствам объекта; когда пользователь выбирает эту команду, следует отобразить па экране вторичное окно, содержащее перечень и текущие значения свойств объекта (Панель свойств).

Пользователь должен располагать средствами прямого доступа к свойствам ви­зуальных или легко идентифицируемых объектов, таких как фрагмент текста, ячейка таблицы или рисунок. Сложнее определить способ доступа к свойствам менее «ося­заемых» объектов, например, параграфа. В некоторых случаях может быть реализо­ван косвенный доступ к свойствам таких объектов. Например, по запросу свойств фрагмента текста может быть также предоставлен доступ к свойствам параграфа, содержащего данный фрагмент.

Другой вариант предоставления доступа к таким объектам основан на создании визуального (графического) представление объекта. Например, свойства страницы могут быть доступны через графический образ или другое представление страницы в специальной области (например, в строке состояния) окна.

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

Команда Свойства не является единственным средством предоставления доступа к свойствам объекта. Например, в окне каталога отображаются некоторые свойства входя­щих в него файлов (размер, тип, дата последнего изменения и т.д.). Кроме того, для отображения свойств выбранных объектов может использоваться панель инструментов.

РЕДАКТИРОВАНИЕ ТЕКСТА

Редактирование текста требует, чтобы фокус ввода был установлен в той позиции, которая подлежит изменению. Если редактирование выполняется с помощью мыши, фокус ввода всегда совпадает с положением указателя. При использовании клавиатуры положение фокуса ввода определяется действием клавиши навигации, которая была нажата последней. В любом случае визуаль­ным признаком того, что фокус ввода установлен в текстовой области, являет­ся присутствие текстового курсора, или точки вставки.

Вставка текста

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

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

Режим замены

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

В качестве визуального признака режима замены рекомендуется использовать курсор специального типа — так называемый блочный курсор, который отобража­ется в текущей символьной позиции; это облегчает пользователю идентификацию того символа, который будет заменен . Для перехода в режим замены используется клавиша .

Удаление текста

Удаление текста выполняется с помощью клавиш и . Кла­виша <Delete> удаляет символ справа от курсора, а клавиша удаля­ет символ слева. В обоих случаях текст сдвигается в направлении удаления, за­полняя образовавшийся промежуток (это иногда называют автослиянием текста). Удаленный текст не остается в буфере обмена. В связи с этим целесообразно пре­дусмотреть в приложении возможность, по крайней мере, одноуровневой отмены операции удаления.

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

3.6. ОПЕРАЦИИ ПЕРЕСЫЛКИ И СОЗДАНИЯ ОБЪЕКТОВ

3.6.1. ОПЕРАЦИИ ПЕРЕСЫЛКИ

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

Для выполнения любой операции пересылки должны быть указаны три пара­метра: пересылаемый объект, приемник (получатель) и способ пересылки (т.е. тип выполняемой операции). Эти параметры могут быть определены как явно, так и косвенно, в зависимости от используемой техники взаимодействия.

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

  • Отклонением объекта

  • Приемом объекта

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

Большинство действий, связанных с пересылкой объектов, основаны на исполь­зовании одной из следующих трех операций (табл. 3.9).

Таблица 3.9.

Операции пересылки объектов

Операция

Описание

Переместить (Move)

Перемещает выбранный объект; поскольку перемещение не изменяет «подлинности» объекта, эту операцию не следует отождествлять с копированием или замещением оригинала

Копировать (Сору)

Создает копию объекта. Результирующий объект независим по отношению к своему оригиналу. Дублирование не всегда обес­печивает полную идентичность копии; некоторые ее свойства могут отличаться от свойств оригинала. Например, копирование объекта может привести к изменению имени или даты созда­ния. Если имеются ограничения на копирование некоторых элементов объекта, то могут быть скопированы только те эле­менты, для которых ограничения отсутствуют.

Связать (Link)

Создает связь между двумя объектами. Результатом обычно явля­ется объект, которая обеспечивает доступ к оригиналу (ярлык)


Существуют два метода пересылки объектов: на основе команд и метод прямого манипулирования.
ПЕРЕСЫЛКА НА ОСНОВЕ КОМАНД

Для пересылки объектов используются команды Вырезать (Cut), Копировать (Сору) и Вставить (Paste). Эти команды обычно включаются в выпадающее меню Правка (Edit) и во всплывающее меню выбранного объекта. Соответствующие им кнопки могут быть вынесены на панель инструментов первичного окна приложения.

Чтобы переслать объект, пользователю необходимо:

  1. Выбрать объект, подлежащий пересылке.

  2. Выбрать команду Вырезать или Копировать.

  3. Указать позицию вставки.

  4. Выбрать команду Вставить.

Команда Вырезать удаляет выбранный объект и помещает его (или ссылку на него) в буфер обмена. Команда Копировать создает копию выбранного объекта (или ссылку на него) и помещает ее в буфер обмена.

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

Вставить <имя типа> как <имя типа> в <имя объекта>. Например, возможен такой вариант команды:

Вставить {Ячейку} как {Слово} (предполагается, что Ячейка и Слово являются конвертируемыми типами).

Ниже приведены общие форматы команды Вставить (табл. 3.10).

Таблица .3.10. Форматы команды Вставить

Формат команды

Функция

Вставить (Paste)

Вставляет объект, содержащийся в буфере обмена, сохраняя все свойства его оригинала

Вставить[имя типа] (Paste [type name])

Вставляет объект, содержащийся в буфере обмена, как вложенный объект OLE; такой объект может быть активизирован непосредственно в позиции вставки.

Вставить[имя типа] как пиктограмму (Paste [type name] as Icon)

Вставляет объект, содержащийся в буфере обмена, как вложенный объект OLE; объект отображается как пиктограмма.

Вставить Ссылку (Paste Link)

Создает ссылку на объект, который был скопирован в буфер обмена; втачку вставки помещается копия содер­жимого объекта, обладающая всеми его свойствами, однако при этом сохранаяется связь с оригиналом, так что любое его изменение приводит к изменению копии

Вставить Ссылку на [имя объекта] (Paste Link to [Object name])

Помещает в точку вставки изображение объекта, ко­торый был скопирован в буфер обмена, используя технологию OLE; любые изменения исходного объекта отражаются на его копии

Вставить ярлык (Paste Shortcut)

Помещает в точку вставки ярлык объекта, который был скопирован в буфер обмена, используя технологию OLE; любые изменения исходного объекта отража­ются на его копии

Специальная Вставка (Paste Special)

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

При выборе формата команды Вставить необходимо в первую очередь учиты­вать свойства приемника; для повышения гибкости работы пользователя ему мо­жет быть предоставлена возможность корректировки параметров команды в зави­симости от ососбенностей пересылаемого объекта и сущности приемника.

Практика показывает, что для большинства приложений оказывается достаточным совместное использование стандартной команды Вставить и Специальной вставки.

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

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

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

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

Выполнение команды Вставить не должно влиять на содержимое буфера обмена. Это позволяет неоднократно повторно использовать данные, находящиеся в буфере. Вместе с тем, необходимо помнить, что последующее выполнение команд Копировать или Вырезать приводит к замене содержимого буфера обмена.

МЕТОД ПРЯМОГО МАНИПУЛИРОВАНИЯ

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

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

Каким образом переданный объект интегрируется и отображается в приемнике, определяется контекстом приемника. Ранее уже отмечалось, что результатом пере­сылки может быть как точная копия оригинала, так и отдельные его компоненты или свойства, либо преобразованный объект. Например, приложение может содер­жать средства для копирования свойств объектов конкретного типа.

Стандартная реализация техники drag-and-drop

Стандартная реализация техники drag-and-dropоснована на использовании левой кнопки мыши. Как именно будет проинтерпретировано приложением перетаскивание объекта, зависит от свойств приемника и от того, какая операция пересылки используется в качестве предопределенной. Как и в случае командного метода, результат операции определяется также свойствами перемещаемого объекта (в частности, перечнем разрешенных форматов объекта). Не рекомендуется использовать в качестве предопределенной операции такую, которая может привести к удалению или необратимому изменению объекта. Если же необходимость применения одной из таких операций обусловлена текущей ситуацией, следует вывести на экран сообщение пользователю с просьбой подтвердить намерения.

ОБРАТНАЯ СВЯЗЬ ПРИ ВЫПОЛНЕНИИ ОПЕРАЦИЙ ПЕРЕСЫЛКИ

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

Реализация обратной связи при пересылке на основе команд

Если при пересылке объекта пользователь выбирает команду Вырезать, следует визуально удалить выбранный объект. Если в силу каких-либо причин это нецеле­сообразно, можно отобразить выбранный объект специальным образом, чтобы со­общить пользователю, что команда Вырезать выполнена, но пересылка объекта еще не закончена.

Необходимо также восстанавливать визуальное состояние объекта, если пользо­ватель выбирает команду Вырезать или Копировать для другого объекта прежде, чем выполнить команду Вставить для первоначально выбранного объекта.

Команда Копировать не требует специальной обратной связи. Выполнение коман­ды Вставить также не требует никакой дополнительной обратной связи, кроме как отображение переданного объекта в новой позиции. Тем не менее, если при выполне­нии команды Вырезать образ объекта в исходной позиции был не удален, а заменен альтернативным представлением, необходимо его теперь «окончательно» удалить.

Реализация обратной связи при прямом манипулировании

При перемещении объекта в новую позицию с помощью мыши следует обеспе­чить пользователя визуальным представлением выполняемой операции на всем ее протяжении. При этом следует обратить особое внимание на следующие моменты:

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

  • Изображение объекта, перемещаемое вместе с указателем, должно быть «про­зрачным» и не заслонять позицию вставки.

  • Образ объекта в исходной позиции должен сохраняться неизменным до окончания операции пересылки; вместе с тем, его перемещаемое изображение может изме­няться в зависимости от типа выполняемой операции. Например, если объект будет вставлен как пиктограмма, то приперемещении указателя на позицию вставки образ объекта должен быть заменен его пиктограммой. Если объект будет включен как часть содержимого приемника, то представление объекта должно отразить это. Например,
    если объект, вставляемый в документ, будет включен как таблица, он может быть представлен в виде прозрачного силуэта таблицы. И наоборот, если исходный объект — таблица, но при вставке преобразуется в текст, отобразите его как условное изобра­жение текста, например, как прозрачный силуэт нескольких первых слов.

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

  • Кроме того, целесообразно дополнить изображение указателя специальным сим­волом, поясняющим смысл выполняемой операции пересылки; этот символ ото­бражается возле правого нижнего угла указателя

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

СПЕЦИАЛЬНЫЕ КОМАНДЫ ПЕРЕСЫЛКИ

При выполнении некоторых заданий определенная комбинация операций пере­сылки может использоваться настолько часто, что ее удобнее заменить соответ­ствующей дополнительной специализированной командой. Примером такой ком­бинации является дублирование существующего объекта, выполняемое с помощью двух операций — Копировать и Вставить. Вместо них может быть использована специальная команда Дублировать. Ниже приведены некоторые наиболее распрос­траненные специализированные команды пересылки (табл. 3.12).

Таблица 3.12. Специализированные команды пересылки

Команда

Функция

Удалить (Delete)

Удаляет объект из содержащего его контейнера. Если объект— файл, то он пересылается в Корзину

Очистить (Clear)

Удаляет содержимое контейнера

Дублировать (Duplicate)

Создает одну копию выбранного объекта

Печать (Print)

Печатает выбранный объект на принтере, исполь­зуемом по умолчанию

Отправить (Send To)

Отображает список возможных направлений пере­сылки выбранного объекта и пересылает его в соответ­ствии с выбором пользователя

3.6.2. ОПЕРАЦИИ СОЗДАНИЯ НОВЫХ ОБЪЕКТОВ

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

Команда Копировать (Сору)

Получение копии существующего объекта является основным способом созда­ния новых объектов. Объекты-копии могут модифицироваться и обычно используются в качестве прототипов для создания новых объектов, обладающих иными свойствами по сравнению с объектом-оригиналом. Технология создания новых объектов указанным способом определяется соглашениями по использованию опе­раций пересылки, рассмотренными выше.

Команда Создать (New)

Команда Создать (New) облегчает создание новых объектов. Она обеспечивает автоматическое создание нового экземпляра объекта определенного типа и может рассматриваться как комбинация команд Копировать (Сору) и Вставить (Paste).

Команда Поместить (Insert)

Команда Поместить (Insert) работает аналогично команде Создать (New), за ис­ключением того, что она применяется к контейнеру для создания нового объекта (обыч­но определенного типа) внутри этого контейнера. Используя различные форматы ко­манды Поместить, можно предоставить пользователю возможность включать в контейнер объекты различных типов. Если создаваемое приложение поддерживает технологию OLE, с помощью команды Поместить может быть реализовано создание широкого класса объектов. Кроме того, объекты, поддерживаемые вашим приложени­ем, могут включаться в файлы данных, созданные другими приложениями OLE.

Использование элементов управления

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

Использование шаблонов

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

В качестве предопределенной операции для объекта Шаблон используется коман­да Создать; она инициирует процесс создания объекта, который может выполняться как полностью автоматически, так и в режиме диалога с пользователем. Вновь со­зданный объект должен находиться в той же позиции, где находился шаблон. Если текущий контекст не позволяет это сделать, объект следует установить в другой дос­тупной пользователю позиции, например, на Рабочем столе. Размещение нового объекта может также быть указано пользователем в процессе диалога при создании объекта; в этом случае по завершении создания объекта следует вывести на экран сообщение, информирующее пользователя о местоположении созданного объекта.

3.6.3. ОПЕРАЦИИ СВЯЗЫВАНИЯ ОБЪЕКТОВ

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

Связь между объектами может быть представлена различными средствами ин­терфейса. В частности, связь по данным реализуется посредством передачи соот­ветствующих величин между двумя объектами, например, между двумя ячейками в таблице или между столбцом таблицы и диаграммой. Переходы (называемые также гиперссылками — hyperlinks) предоставляют навигационный доступ к друго­му объекту. Этот вид связи можно назвать также связью по управлению.

Объект, связанный с источником с помощью механизма OLE, предоставляет доступ ко всем операциям, разрешенным для источника, и, кроме того, обеспечива­ет визуальное представление связи с источником.

Когда пользователь пересылает связанный объект, следует сохранить как абсолют­ный, так и относительный маршрут доступа к его источнику связи. Абсолютный мар­шрут — это точное описание положения объекта в его иерархии. Относительный маршрут является описанием позиции объекта относительно текущего контейнера.

Какой из двух маршрутов будет использоваться, зависит от направления пересыл­ки. Как правило, по умолчанию используется относительный маршрут. Тем не менее, если по одному из маршрутов обеспечить доступ к источнику не удалось, следует ис­пользовать альтернативный маршрут. Например, если пользователь копирует связан­ный объект и источник связи в другую позицию, создаются копии как связанного объек­та, так и источника связи. В этом случае относительным маршрутом для копии связанного объекта является описание расположения копии источника связи, а абсо­лютным маршрутом — описание позиции исходного источника связи (оригинала). Другими словами, когда пользователь обращается к копии связанного объекта, следует активизировать связь с копией источника связи. Если же это сделать не удается (например, из-за того, что пользователь удалил копию источника), необходимо использо­вать абсолютный маршрут, обеспечивающий доступ к исходному источнику связи.

Если пользователь применяет операцию связывания к связанному объекту, долж­на создаваться ссылка на него, а не на источник. В случае, если связанный объект не может использоваться в качестве источника, то, когда пользователь выбирает такой связанный объект, следует сделать недоступными для него команды связывания.

Способ активизации связанного объекта зависит от типа связи. Например, ак­тивизация перехода может выполняться с помощью однократного щелчка ЛКМ. Тем не менее, такой механизм эффективен только для выбора связанных данных или связанного объекта OLE. Если же он используется, чтобы сделать что-то еще, кроме выбора объекта, следует использовать различные формы визуального пред­ставления для каждой из допустимых операций. Например, если переход выполня­ется с помощью кнопки-акселератора, то при выборе кнопки изменяется форма указателя (он отображается в виде руки), а когда пользо­ватель щелкает на ней ЛКМ, то изменяется изображение кнопки и производится переход по ссылке.

При таком подходе обеспечивается обратная связь с пользователем, который мо­жет либо только выбрать ссылку на связанный объект, либо и воспользоваться ею.

1   2   3   4   5   6   7   8   9   10   ...   14


написать администратору сайта