Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любой реферат по информатике
КМ-7. Решение задач на обработку символьной информации - выполню любой вариант!

Общие правила взаимодействия с объектами

2021-03-09СтудИзба

3.5. ОБЩИЕ ПРАВИЛА ВЗАИМОДЕЙСТВИЯ С ОБЪЕКТАМИ

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

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

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

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

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

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

Рекомендуемые материалы

ПРЕДОПРЕДЕЛЕННЫЕ ОПЕРАЦИИ

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

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

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

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

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

Таблица 3.4

Операции просмотра

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

Действие

Открыть

(Open)

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

Закрыть

(Close)

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

Свойства

(Properties)

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

Помощь

(Help)

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

Замечание.

В приведенной выше таблице использовано понятие первичного окна. Этот тер­мин введен для обозначения окон, именуемых в англоязычной литературе primary window. Окна такого типа обычно используются для представления содержимого объектов или в качестве основной рабочей области приложения. В русскоязычных (в том числе переводных) изданиях они либо вообще не имеют специального обозна­чения (просто окна), либо именуются главными окнами. Предлагаемый нами вариант кажется нам более предпочтительным по следующим причинам. Во-первых, из-за указанного выше предназначения таких окон: если термин «Главное окно приложе­ния» является во многих случаях достаточно корректным, то про «Главное окно объекта» этого сказать нельзя. Во-вторых, приложение может иметь несколько первичных окон; среди них можно назначить «главное», но как тогда называть остальные? В-третьих, предложенный термин лучше согласуется с весьма устоявшимся термином вторичное окно.

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

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

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

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

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

Именно поэтому во вторичных окнах не рекомендуется использовать слово «Зак­рыть» для обозначения кнопок, связанных с закрытием окна (но не приложения!);

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

Если в окне имеются внесенные изменения, которые еще не переданы приложе­нию, и пользователь выбирает команду Закрыть, то эти изменения будут потеряны;

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

Для быстрого выполнения команд просмотра могут быть определены клавиши-акселераторы; их рекомендуемое назначение приведено ниже (табл.3.5).

Таблица 3.5.

Назначение клавиш-акселераторов

Клавиша-акселератор (комбинация клавиш)

Действие

CTRL + О

Открывает первичное окно для выбранного объекта

ALT + F4

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

F1

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

SHIFT + F1

Устанавливает режим контекстно-зависимой помощи

Двойной щелчок ЛКМ

Выполняет предопределенную команду или команду Ввод

ALT + двойной щелчок ЛКМ

Открывает панель свойств объекта

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

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

ТРАНЗАКЦИИ

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

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

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

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

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

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

ЗОНЫ УПРАВЛЕНИЯ

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

Рис. 3.6. Зоны управления графического объекта

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

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

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

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

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

Режим замены

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

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

Лекция "Лекция 9" также может быть Вам полезна.

Внесение изменений

Рис. 3.7. Блочный курсор

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

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

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее