Смекни!
smekni.com

OC QNX (стр. 3 из 5)

Звичайно, будь-який фахівець із графічних інтерфейсів скаже, що цим принципам повинна (і звичайно намагається) випливати будь-яка пристойна графічна система. Однак благими намірами вимощена дорога в пекло, і досить поексперементувати з деякою кількістю програм для MS Windows, щоб помітити як далеко більшості з них до відповідності оголошеним принципам. Проблема полягає в тім, що ці принципи є не більш ніж загальним місцем, якщо вони не супроводжуються конкретними рекомендаціями з прийняття тих чи інших рішень.

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

Тепер розглянемо коротко основні елементи інтерфейсу OPEN LOOK. Очевидно, що головним елементом будь-якого графічного інтерфейсу є вікна (windows). У даному інтерфейсі визначено чотири типи вікон:

Базове вікно (Base window) - Вікно, що з'являється при запуску додатка й у який зосереджена велика частина функціональних можливостей і органів керування додатка. Тут же як правило максимальне використовується візуальний зворотний зв'язок.

Спливаюче вікно (Pop-up Window) - Вікно призначене для виконання якої або конкретної дії, чи вибору зміни параметрів і т.д. При необхідності частого використання може бути 'приколено' до екрана за допомогою 'шпильки'. Визначено чотири підтипи:

Command Window - Призначено для виконання команд із можливістю завдання параметрів (Find & Replace).

Properties Window - Призначено для установки чи зміни параметрів (властивостей) обраного об'єкта.

Help Window - Призначено для висновку довідкової інформації про об'єкт, над яким знаходиться покажчик миші.

Меню (Menu Window) - Вікно призначене для вибору одного з декількох пропонованих варіантів. Може мати смугу прокручування (scrollbar) якщо варіантів багато.

Самою незвичайною особливістю вікон в інтерфейсі OPEN LOOK є можливість визначити для вікна 'крайні зони' (Window Bars), тобто проміжки між границею вікна і його внутрішньою частиною.

Приклад такого проміжку - область заголовка вікна, але тут ці проміжки можуть знаходитися з будь-якої сторони вікна і мати будь-як ширину. Вони мають незалежну систему координат і можуть використовуватися для висновку так само як і внутрішня область вікна. Верхній (і іноді лівий) проміжки використовуються як область керування (див. далі), а правий і нижній проміжки - для зон скролінга. Нижній проміжок використовується ще і для висновку повідомлень (аналог Message Area в інтерфейсі OSF/Motif).

Внутрішня область вікна може бути поділена на 'кватирки' (Panes), кожна з який може використовуватися незалежно (і мати свої власні смуги прокручування). Усього можна визначити не більш 4-х кватирок (не більш 2-х в одному напрямку), причому їхній загальний зовнішній контур повинний збігатися з контуром вікна.

При запуску 'менеджера робочого столу', усі вікна забезпечуються декораціями (тривимірна рамка, куточки для зміни розмірів, заголовок, службова кнопка (window button) чи шпилька (pushpin)), іконками (для базових вікон) і меню вікна, що залежить від типу.

Для базового вікна будь-якого додатка через пункт Properties у меню можна задати початковий стан (іконка, стандартне, розкрите), початкове положення на екрані і розмір, а також колірну палітру для вікон і діалогів, що відносяться до даного додатка. Пункт меню базового вікна Quit надає стандартний (і звичайно єдиний) спосіб завершення додатка.

Самим характерним елементом спливаючого вікна служить шпилька, що є навряд чи не найвідомішим елементом інтерфейсу OPEN LOOK. При відкритті вікна вона звичайно 'лежить на боці' у верхньому лівому куті. Коли користувач виконує дію, зв'язана з вікном, воно звичайно закривається. Однак, якщо клацнути мишею по шпильці, вона 'устромляється' в екран і 'приколює' вікно до нього. Після цього вікно не закривається, поки користувач ще раз не натисне на шпильку, що дозволяє багаторазово виконувати часто використовувані дії. Особливо це зручно при використанні спливаючого меню - його можна приколоти в будь-якім місці екрана, що зручно користувачу. Помітьте, що ця красива ідея була згодом використана, у трохи іншій формі, в інтерфейсі OSF/Motif версії 1.2, за назвою Tear-Off Menu (там замість шпильки використовується 'лінія перфорації' і користувач може 'відірвати' меню від 'корінця' як листок із блокнота).

Меню в інтерфейсі OPEN LOOK визначені 3-х типів: Drop-Down, Pull-Right і Pop-Up. Перший тип є основним і використовується разом із кнопками - меню з'являється при натисканні правої кнопки миші на кнопці (звичайно під кнопкою). Другий тип є різновидом першого і служить для створення ієрархічних меню. Таке меню використовується тільки разом з одним із двох інших типів і з'являється при натисканні правої кнопки миші на елементі меню старшого рівня, c яким воно зв'язано (звичайно праворуч від нього - звідси і назва). Третій тип призначений для забезпечення швидкого доступу до часто використовуваних функцій, доступним через основне меню і з'являється при натисканні правої кнопки миші на будь-якій порожній ділянці вікна. Кожне меню повинне мати один елемент, що вибирається за замовчуванням. Для всіх типів меню (особливо приколених) додатка повинні забезпечувати візуальний зворотний зв'язок - якщо який-небудь елемент меню незастосуємо в даному контексті додатка - він повинний бути деактивований і навпаки.

Замість традиційної області меню (Menu Bar), базове вікно в інтерфейсі OPEN LOOK має область керування (Control Area), у якості якої рекомендується верхній проміжок вікна (Top Bar). У цій області прийнято розташовувати кнопки, c можуть бути асоційовані Drop-Down меню.

Рекомендується також склад і порядок розташування кнопок - File, View, Edit, Properties, причому для кнопок File і Edit, рекомендується ще і стандартний склад асоційованих меню. Склад інших меню залежить від додатка. Спеціальної області для введення команд (по типі Command Area у OSF/Motif) у базовому вікні не передбачається.

Кнопки (Buttons) в інтерфейсі OPEN LOOK мають овальну форму і завжди виводяться з 3D-ефектом, тобто вони 'випирають' над поверхнею, а при натисканні утоплюються. Одна з кнопок у вікні призначається 'кнопкою за замовчуванням' і буде виділятися ободком усередині контуру кнопки. У деяких реалізаціях ця кнопка буде натискатися при натисканні клавіші Enter. Усі кнопки класифікуються на 3 типи - кнопки меню (Menu Buttons), кнопки вікон (Window Buttons) і кнопки команд (Command Buttons). Кнопки першого типу позначаються значком трикутника, спрямованого вниз. При натисканні лівої кнопки миші на таку кнопку автоматично вибирається елемент за замовчуванням з асоційованого меню (інтерпретація AT&T) чи цей елемент виводиться на кнопку замість назви, щоб його можна було побачити (інтерпретація Sun Microsystems). При натисканні правої кнопки миші, що відповідає меню з'являється під кнопкою. Кнопки другого типу виділяються знаком (...). При натисканні на таку кнопку відкривається яке-небудь вікно. Кнопки останнього типу ніяк не виділяються. При натисканні на них просто виконується відповідне дія. Точно такая-жі класифікація застосовується стосовно елементів меню. Це відноситься і до виділення, але замість трикутника спрямованого вниз, застосовується трикутник, спрямований вправо.

Принципи взаємодії з користувачем в інтерфейсі орієнтовані в основному на використання миші, хоча можна обходитися і без неї. Позиціювання через клавіатуру не визначено, хоча і підтримується в тім чи іншому ступені більшістю реалізацій (у тому числі QNX Windows). Поняття фокуса введення стосовно кнопок також не визначено, тому, що OPEN LOOK використовує інший механізм для натискання кнопки через клавіатуру - мнемонічні комбінації. Для кожної кнопки можна визначити букву, що входить у її назву, у якості мнемонічної (за замовчуванням перша). Вона буде виділятися (кольором підкресленням) при відображенні кнопки. Одночасне натискання клавіші Alt і зазначеної букви буде еквівалентно натисканню лівої кнопки миші на цю кнопку.

C іншої сторони, OPEN LOOK дуже систематично використовує миша, причому всі 3 її кнопки. Вони навіть мають спеціальні назви - SELECT, ADJUST і MENU. Кнопка SELECT (ліва) служить для вибірки елементів у вікні, переключення фокуса введення між вікнами, натискання на кнопки. Кнопка ADJUST (середня) призначена для зміни поточної вибірки (наприклад, коли користувач повинний вибрати 3 файли, він повинний натиснути SELECT на першому і ADJUST на інших. Повторний SELECT скидає попередню вибірку, а повторний ADJUST виключає елемент із вибірки). Якщо використовується двукнопочна миша, натискання комбінації Shift-SELECT звичайно емулює ADJUST. Кнопка MENU (права) служить для відкриття меню всіх типів. Ті, хто знає інтерфейс OSF/Motif помітять, що основне розходження - у використанні середньої кнопки - там вона призначена для операцій у режимі Drаg'n'Drор (версія 1.2). В інтерфейсі OPEN LOOK для цієї мети застосовується кнопка SELECT, але варто помітити, що в цілому концепція режиму Drag and Drop тут продумана слабкіше і недостатньо систематизована, що порозумівається тим, що Motif 1.2 з'явився на 2 роки пізніше чим OPEN LOOK (у попередніх версіях цей режим узагалі був відсутній).

Специфікації OPEN LOOK визначають також операції з Clipboard і з файлами, тобто менеджер фалів є необхідним елементом для реалізації 2-го рівня. Крім того даються рекомендації з приводу вибору й оформлення заголовків і міток, розміщення елементів усередині вікна, вибору назв для пунктів меню, формату повідомлень про помилки, вибору колірної палітри і ще багато деталей, про які починаючі проектувальники звичайно навіть не думають. Обсяг реферату не дозволяє нам, на жаль, навіть коротко розглянути всі елементи інтерфейсу OPEN LOOK, тому розглянемо тепер більш докладно систему QNX Windows як приклад реалізації описаних концепцій (причому одну з перших).