Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
05.06.2015
Размер:
7.14 Mб
Скачать

3.5. Загальні правила взаємодії з об'єктами

Існують різні способи організації інтерфейсу користувача для вы-полнения операцій над об'єктами: пряме маніпулювання об'єктами, вибір ко-манд із меню, за допомогою діалогових панелей і, нарешті, опис необхідних операцій на якій-небудь мові програмування. Використання в додатку кожного з перерахованих підходів не виключає можливості сполучення його з іншою технікою. Наприклад, користувач може змінювати розмір вікна, або використовуючи команду Розмір, або переміщаючи границю вікна за допомогою миші.

Разом з тим, доцільно для кожного типу об'єктів визначити власна підмножина припустимих операцій і способів їхнього застосування. При цьому і підмножина припустимих операцій, і способи їхні застосування можуть коректуватися в залежності від поточної ситуації. Всвязи з цим операції, що можуть

58

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

ОПЕРАЦІЇ МНОЖИННОГО ВИБОРУ

Як операції, доступних для об'єктів множинного вибору, варто використовувати перетинання наборів операцій, що відносяться до кожного з участни-ков цього вибору. Таким чином, контекст множинного вибору може расши-рить або скоротити перелік чи операцій команд, доступних користувачу.

Крім того, для множинного вибору може бути перевизначений ефект вы-полнения деяких операцій над яким-небудь об'єктом цього вибору. Наприклад, коли користувач вибирає кілька графічних об'єктів і застосовує до них команду вирівнювання, деякі з них можуть залишитися на колишній позиції, "не реагуючи" на дану команду.

Варто мати на увазі, що область дії операцій, виконуваних над объек-тами множинного вибору, повинна обмежуватися межами активного вікна. Наприклад, якщо користувач видаляє обране слово в одному вікні, це не повиннео приводити до видалення обраних фрагментів тексту в інших вікнах (якщо в цих вікнах обрані не ті ж самі об'єкти).

ВИЗНАЧЕНІ ОПЕРАЦІЇ

Об'єкт може мати визначені операції. Визначені операції -

це операції, виконувані над об'єктом за замовчуванням, коли користувач ис-пользует техніку прискореної взаємодії з даним об'єктом (зокрема , подвійного щиглика ЛКМ). Наприклад, подвійний щиглик ЛКМ на піктограмі каталогу файлів приводить до відкриття вікна з умістом цього каталогу; при редактиро-вании тексту подвійний щиглик ЛКМ забезпечує вибір слова. Для різних об'єктів можуть використовуватися різні визначені операції; у приведеному вище прикладі як визначену операцію для каталогу виконувалася команда Відкрити, а для тексту - Вибрати.

Аналогічно, коли користувач переміщає об'єкт у нову позицію за допомогою миші, використовуючи техніку drag-and-drop ("перетягни і залиши"), поводження об'єкта залежить від установленої для нього визначеної операції. Перетаскування об'єкта в деяку позицію може бути проінтерпретовано, зокрема , і як переміщення, і як копіювання, і як зв'язування з іншим об'єктом. У даному випадку виконувана визначена операція залежить від позиції, куди був переміщений об'єкт.

59

Застосування визначених операцій для техніки прискореного взаимодей-ствия з об'єктами забезпечує велику ефективність інтерфейсу з погляду підвищення швидкості роботи, що є важливим чинником для більш досвідчених користувачів. Проте , оскільки така техніка вимагає визначених навичок, і не всі об'єкти можуть мати відповідні визначені опера-ции, те розглянутий підхід не повинний використовуватися як єдиний засіб взаємодії користувача з об'єктами. Наприклад, навіть якщо для от-крытия вікна каталогу використовується подвійний щиглик ЛКМ на його піктограмі, що спливає меню цього об'єкта повинне містити команду Відкрити.

ОПЕРАЦІЇ ПЕРЕГЛЯДУ

І [иже приведена коротка характеристика деяких загальних операцій, зв'язаних з переглядом об'єктів (табл. 3.4). Хоча ці операції можуть бути доступні не завжди і не для всіх об'єктів, але у випадку їхнього використання варто дотримувати зазначених угод.

Та б л и и а 3.4 Операції перегляду

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

Відкрити (Open) Відкриває первинне вікно бъекта. Для контейнерних об'єктів, таких як папки і документи, це вікно відображає вміст об'єкта.

Закрити (Close) Закриває вікно

Властивості (Propertіes) Відображає властивості об'єкта у відповідному вікні, як правило, у вікні панелі властивостей

Допомога (Help) Відображає вікно з контекстною довідковою інформацією про об'єкт

Зауваження.

У приведеній вище таблиці використане поняття первинного вікна. Цей тер-мін уведений для позначення вікон, іменованих в англомовній літературі prіmary wіndow. Вікна такого типу звичайно використовуються для представлення вмісту чи об'єктів у якості основної робочої області додатка. У російськомовних (у тому числі перекладних) виданнях вони або взагалі не мають спеціального обозна-чения (просто вікна), або іменуються головними вікнами. Пропонований нами варіант здається нам більш кращим по наступним причинах. По-перше, через зазначене вище призначення таких вікон: якщо термін "Головне вікно приложе-ния" є в багатьох випадках досить коректним, то про " Головне вікно объек-

60

та" цього сказати не можна. По-друге, додаток може мати кілька первинних вікон; серед них можна призначити "головне", але як тоді називати інші? По-третє, запропонований термін краще согласутся з дуже устояним терміном вторинне вікно.

Коли користувач відкриває нове вікно, воно повиннео відображатися поверх інших вікон того ж рівня і встановлюватися в активний стан (як правило, усі первинні вікна відносяться до одного рівня). Додаткові, чи вторинні вікна, що відносяться до даного додатка, також повинні відображатися поверх інших вторинних вікон того ж рівня.

Якщо користувач, запустивши додаток, устиг повернутися до роботи з іншим ок-ном перш, ніж відкрилося нове вікно, то при відкритті нового вікна воно не повиннео "заслонити" активне вікно. Наприклад, якщо користувач, відкривши вікно Л, потім от-крывает вікно В, те вікно В з'являється поверх вікна А. Якщо ж користувач клацне мишею у вікні А перш, ніж відкриється вікно В, те вікно В з'являється "за" вікном А.

Повторне виконання команди, за допомогою якої було відкрите вікно, долж-но активізувати існуюче вікно замість відкриття іншого екземпляра вікна. Наприклад, якщо користувач вибирає команду Властивості для об'єкта, панель властивостей якого уже відкрита, активізується існуюча панель, а не откры-вается друге аналогічне вікно.

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

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

Саме тому у вторинних вікнах не рекомендується використовувати слово "Зак-рыть" для позначення кнопок, зв'язаних із закриттям вікна (але не додатка!); більш придатними в цьому випадку є написи "Застосувати", "ПРО ДО", "Отме-нить" і т.п. Не рекомендується також використовувати команду Закрити як еквівалент команди Скасувати. Проте , побічний ефект закриття вікна за допомогою команди Закрити залежить від поточної ситуації.

Якщо у вікні маються внесені зміни, що ще не передані приложе-нию, і користувач вибирає команду Закрити, то ці зміни будуть загублені; щоб запобігти такій ситуації, варто вивести на екран повідомлення з проханням уточнити, чи хоче користувач чи застосувати відкинути зміни, або узагалі відкласти виконання команди Закрити.

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

Таблиця 3.5.

Призначення клавіш-акселераторів

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

CTRL-Ю Відкриває первинне вікно для обраного об'єкта

ALT4F4 Закриває вікно

F1 Відображає вікно з контекстною довідковою інформацією

SHFT+F1 Установлює режим контекстно-залежної допомоги

Подвійний щиглик ЛКМ Виконує визначену чи команду команду Введення

ALT+подвійний щиглик ЛКМ Відкриває панель властивостей об'єкта

ОПЕРАЦІЇ РЕДАГУВАННЯ

Редагування припускає зміна (доповнення, видалення, заміну) одного чи декількох властивостей об'єкта або його структури. Іншими словами, не всяка зміна може трактуватися як редагування об'єкта. Наприклад, зміна форми представлення документа на екрані (зокрема , збільшення масштабу), що не торкається його змісту, не є редагуванням. Розділи, що сле-дуют, розкривають деяку загальну техніку взаємодії пользо-вателя з додатком при редагуванні об'єктів.

ТРАНЗАКЦИИ

Транзакция являє собою одинична дія по зміні об'єкта. Сте-пень деталізації такої зміни може бути різної, а його результат може визначатися виконанням як однієї, так і декількох сполучених операцій. Виконувані користувачем транзакции (припустимі) повинні негайно приводити до зміни об'єкта, і користувач повинний бачити їхній результат; якщо ж транзакция неприпустима для даного об'єкта, необхідно відразу ж сповістити про це користувачу. Іншими словами, у будь-якому випадку при виконанні транзакции повинна здійснюватися зворотний зв'язок між додатком і користувачем. Крім того, користувач повинний мати можливість скасувати результат транзакции (внесені зміни), відновивши попереднє стан об'єкта. Якщо користувач закриває вікно, у якому маються зміни, варто запитати в нього, потрібно чи їхній зберегти.

Для збереження змін на файловому рівні рекомендується використовувати наступні команди (табл. 3.6).

62

Табл і ца 3.6.

Команди збереження змін на рівні файлу

Команда Функція

Зберегти (Save) Зберігає всі тимчасові зміни на диску і починає новий сеанс редагування.

Зберегти Як (Save as) Зберігає файл (із усіма тимчасовими змінами) під іншим ім'ям і починає новий сеанс редагування

Закрити (Close) Підказує користувачу, що варто зберегти внесені зміни. Якщо користувач їх підтверджує, тимчасові зміни зберігаються і вікно закривається

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

Якщо ж виконана транзакция відноситься до окремого запису у файлі, то застосування команди Зберегти не доцільно. Для керування виконанням транзакций усередині файлу рекомендується використовувати команди, перераховані нижче (табл. 3.7).

Табл і ца 3.7. Команди збереження змін на рівні транзакций

Команда Функція

Повторити (Repeat) Дублює останню транзакцию

Скасувати(Undo) Скасовує результат останньої (чи якийсь певн) транзакции

Відновити (Redo) Відновлює результат останньої (чи якийсь конкретний) скасованої транзакции

OK Реалізує внесені зміни і закриває вікно

Застосувати (Apply) Реалізує внесені зміни, але не закриває вікно

Скасувати (Cancel) Скасовує внесені зміни і закриває вікно

Командами, що рекомендуються, для керування процесами є наступні (табл. 3.8).

Хоча для зупинки процесу може бути використана команда Скасувати, не-обходжено враховувати, що вона не тільки зупиняє процес, але і повертає його у вихідний стан.

63

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

Команда Функція

Пауза (Pause) Припиняє процес

Продовжити (Resume) Відновляє припинений процес

Останов (Stop) Зупиняє процес

ПЕРЕГЛЯД І РЕДАГУВАННЯ ВЛАСТИВОСТЕЙ ОБ'ЄКТІВ

Визначення й узгодження властивостей компонентів додатки є клю-чевыми питаннями при реалізації DCD-технології. Для чи зміни переоп-ределения властивостей конкретного об'єкта (чи об'єктів) використовуються такі команди, як Властивості, Зведення, Загальні зведення і Формат. Команда Властивості Є загальною командою для доступу до властивостей об'єкта; коли користувач вибирає цю команду, варто відобразити па екрані вторинне вікно, що містить перелік і поточні значення властивостей об'єкта {Панель властивостей).

Користувач повинний мати у своєму розпорядженні засоби прямого доступу до властивостей ви-зуальных чи легко идентифицируемых об'єктів, таких як фрагмент тексту, осередок чи таблиці малюнок. Складніше визначити спосіб доступу до властивостей менш "ося-заемых" об'єктів, наприклад, параграфа. У деяких випадках може бути реализо-ван непрямий доступ до властивостей таких об'єктів. Наприклад, по запиті властивостей фрагмента тексту може бути також наданий доступ до властивостей параграфа, що містить даний фрагмент.

Інший варіант надання доступу до таких об'єктів заснований на створенні візуального (графічного) представлення об'єкта. Наприклад, властивості сторінки можуть бути доступні через графічний чи образ інше представлення сторінки в спеціальній області (наприклад, у рядку стану) вікна.

Можливі й інші підходи до реалізації непрямого доступу, наприклад, вклю-чение відповідної команди в спливаюче меню зв'язаного об'єкта. Зокрема , що спливає меню текстового вибору могло б включати пункт Свой-ства параграфа. Як засіб доступу до властивостей ієрархічно зв'язаних об'єктів може бути створене каскадне меню, кожен рівень якого обес-печивал би виконання команди Властивості для об'єкта відповідного рівня.

Команда Властивості не є єдиним засобом надання доступу до властивостей об'єкта. Наприклад, у вікні каталогу відображаються деякі властивості вхідних у нього файлів (розмір, тип, дата останньої зміни і т.д.). Крім того, для відображення властивостей обраних об'єктів може використовуватися панель інструментів.

64

ЗОНИ КЕРУВАННЯ

Графічні об'єкти (вікна, малюнки, піктограми) можуть мати специаль-. ные зони керування (handles), за допомогою яких для цих об'єктів реалізується техніка прискореної взаємодії. Зокрема , зони керування можуть використовуватися для прискореного виконання таких операцій, як переміщення, масштабирование, форматування й автозаполнение. Тип зони керування залежить від типу об'єкта. Наприклад, смуга заголовка вікна виступає як зону керування при переміщенні вікон; границі вікна використовуються як зону керування при зміні його розмірів. Для піктограми зоною керування є безпосередньо її зображення, тобто вся піктограма. Для малюнків найбільш загальною формою зони керування є прямокутний контур, відображуваний навколо об'єкта, коли він обраний (мал. 3.6). При цьому сторони прямокутника звичайно використовуються для прискореного виконання операцій переміщення, а маркери, розташовані по кутах контуру - для прискореного масштабирования малюнка.

Рис. 3.6. Зони керування графічного об'єкта

РЕДАГУВАННЯ ТЕКСТУ

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

3 Зах. 747

65

використанні клавіатури положення фокуса уведення визначається дією клавіші навігації, що була натиснута останньої. У будь-якому випадку візуальною ознакою того, що фокус уведення встановлений у текстовій області, є присутність текстового курсору, чи крапки вставки.

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

Вставка тексту припускає установку користувачем курсору у відповідній позиції і введення символів. Після кожного набраного символу ваш додаток повинний переміщати курсор на один символ вправо (чи вліво, у залежності від мови).

Якщо текстова область підтримує введення декількох рядків, повинний бути реалізований автоматичний перенос тексту на наступну рядок, коли довжина поточної рядка перевищує ширину текстової області.

Режим заміни

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

Як візуальну ознаку режиму заміни рекомендується використовувати курсор спеціального типу - так називаний блоковий курсор, що відображається в поточній символьній позиції; це полегшує користувачу ідентифікацію того символу, що буде замінений (мал. 3.7). Для переходу в режим заміни використовується клавіша <Іnsert>.

Внесення | Щменений

Рас. 3.7. Блоковий курсор

Видалення тексту

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

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

G6

3.6. ОПЕРАЦІЇ ПЕРЕСИЛАННЯ І СТВОРЕННЯ ОБ'ЄКТІВ

3.6.1. ОПЕРАЦІЇ ПЕРЕСИЛАННЯ

До операцій пересилання відносяться операції переміщення копіювання і свя-зывания об'єктів, а також їхні похідні. Наприклад, печатка об'єкта є формою операції пересилання, оскільки вона може бути реалізована як копиро-вание об'єкта на принтер.

Для виконання будь-якої операції пересилання повинні бути зазначені три пари-метри: об'єкт, що пересилається, приймач (одержувач) і спосіб пересилання (тобто тип виконуваної операції). Ці параметри можуть бути визначені як явно, так і побічно, у залежності від використовуваної техніки взаємодії.

Тип операції пересилання визначається типом приймача. Оскільки пересилання може інтерпретуватися по-різному, у деяких випадках доцільно назна-чить одну з операцій у якості визначеної (виконуваної за замовчуванням), а також обмежити перелік інших припустимих операцій пересилання, виходячи з характеристик джерела і приймача. Наприклад, спроба переслати об'єкт у контейнер може закінчитися одним з наступних исходов:

o Відхиленням об'єкта

o Прийомом об'єкта

o Включенням деякої частини (підмножини) об'єкта пли перетворенням

його формату (наприклад, включення тільки змісту об'єкта без його зовнішнього

представлення).

Більшість дій, зв'язаних з пересиланням об'єктів, засновані на исполь-зовании однієї з наступних трьох операцій (табл. 3.9).

Існують два методи пересилання об'єктів: на основі команд і метод прямого маніпулювання.

ПЕРЕСИЛАННЯ НА ОСНОВІ КОМАНД

Для пересилання об'єктів використовуються команди Вирізувати (Cut), Копіювати (Сміттю) і Вставити (Paste). Ці команди звичайно включаються у выпадающее меню Виправлення (Edіt) і в спливаюче меню обраного об'єкта. Відповідні ним кнопки можуть бути винесені на панель інструментів первинного вікна додатка.

Щоб переслати об'єкт, користувачу необхідно:

1. Вибрати об'єкт, що підлягає пересиланню.

2. Вибрати команду чи Вирізувати Копіювати.

'Л. Указати позицію вставки.

з* ., 67

Таблиця 3.9.

Операції пересилання об'єктів

Операція Опис

Перемістити (Move) Переміщає обраний об'єкт; оскільки переміщення не змінює "дійсності" об'єкта, цю операцію не слід ототожнювати з чи копіюванням заміщенням оригіналу

Копіювати (Сміттю) Створює копію об'єкта. Результуючий об'єкт незалежний стосовно свого оригіналу. Дублювання не завжди обес-печивает повну ідентичність копії; деякі її властивості можуть відрізнятися від властивостей оригіналу. Наприклад, копіювання об'єкта може привести до зміни чи імені дати созда-ния. Якщо маються обмеження на копіювання деяких елементів об'єкта, то можуть бути скопійовані тільки ті эле-менты, для яких обмеження відсутні.

Зв'язати (Lіnk) Створює зв'язок між двома об'єктами. Результатом звичайно є об'єкт, що забезпечує доступ до оригіналу (ярлик)

Соседние файлы в папке перевод