Розширюваність користувальницького інтерфейсу в Office 2010, MS Office, Програмні керівництва, статті

Представивши в Office 2007 для користувача інтерфейс “Лента”, ми також представили модель RibbonX (розширюваність стрічки) – новий спосіб програмної настройки призначеного для користувача інтерфейсу Office. RibbonX дозволяє стороннім розробникам і постачальникам рішень змінювати стрічку, додаючи свої вкладки і групи в залежності від потреб своїх клієнтів.

В Office 2010 ця платформа для користувача інтерфейсу ще більше розширюється за рахунок підтримки нового подання Backstage. Також в існуючу платформу RibbonX внесено ряд значних змін.


Розширення уявлення Backstage


Подання Backstage – Це нова, інтегрована частина користувальницького інтерфейсу Office. Вона виводить на новий рівень функції роботи з файлами (друк, загальний доступ, розповсюдження, спільна робота і т. д.) так само, як стрічка вивела на новий рівень функціональні можливості роботи з документами. Покращуючи розширюваність в Office 2010, ми приділили велику увагу можливості сторонніх розробників розширювати уявлення Backstage доступними і зрозумілими способами.


Ви можете запитати: “Коли слід розширювати можливості стрічки, а коли – подання Backstage”? Якщо ви створюєте рішення, яке призначене для сценаріїв зміни документів і створення вмісту (Тобто нові функціональні можливості будуть покращувати роботу користувача в документі), слід розширювати стрічку. З іншого боку, якщо ваші клієнти потребують вирішення, що дозволяє працювати з документами, а також з процедурами і користувацькими робочими процесами, з якими пов’язані ці документи, то рекомендується розширювати Backstage.


Приклад 1. Ефективне управління проектами і процесами за допомогою користувальницької вкладки Backstage


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


Нижче наведена надбудова, яка служить для додавання нової вкладки Contoso Process до подання Backstage; все нові елементи призначеного для користувача інтерфейсу створені за допомогою нової моделі розширення Backstage. Вкладка Contoso Process служить для відображення метаданих електронної таблиці, етапу роботи з цією таблицею, а також необхідних дій для переміщення електронної таблиці на наступний етап обробки. Групи “Графік етапу розробки” (Schedule For Design Phase) і “Недозволені питання по розробці” (Open Design Issues) відмічені червоним кольором, що означає необхідність невідкладного розгляду цих питань. Діаграма справа – це “повна картина”, тобто зведені дані про те, на якому етапі процесу знаходяться всі пов’язані електронні таблиці. Неважко уявити, як можна отримати всі ці метадані з бібліотеки SharePoint, в якій розміщені електронні таблиці.



В інтерфейсі Contoso Process відображаються користувальницькі метадані і ще один залежний від контексту користувальницький інтерфейс для управління процесами


Після вирішення всіх питань, пов’язаних з розробкою, у верхній частині вкладки стає доступною кнопка “Завершення етапу розробки” (Exit Design Phase). Натискання цієї кнопки переводить електронну таблицю на етап розгляду, вміст вкладки динамічно оновлюється, відображається новий стан і вимоги для нового етапу роботи.



Інтерфейс користувача Contoso Process динамічно оновлюється для відображення нового етапу роботи з електронною таблицею


Приклад 2. Інтеграція користувача функцій з вбудованими вкладками Backstage


Припустимо, ви проектувальник рішень, і одним з основних сценаріїв для ваших клієнтів є спільна робота над документами. Клієнтам подобаються функціональні можливості, які містяться на вкладці Share (Загальний доступ) в поданні Backstage, проте їм також хотілося б безпосередньо обмінюватися документами через Windows Live Hotmail і Facebook. Можливості розширення Backstage дозволяють створювати користувальницькі функції і розміщувати їх на вбудованої вкладці Share.


Ось як буде виглядати користувальницька форма “Відправити за допомогою електронної пошти” (Send Using E-Mail) з групою “Відправити через Hotmail” (Send via Hotmail) (у правому нижньому куті зображення):



Користувацька група “Відправити через Hotmail” (Send via Hotmail), інтегрована у вбудовану форму “Надіслати за допомогою електронної пошти” (Send Using E-Mail)


А ось як буде виглядати вкладка Share з новою задачею “Розмістити в Facebook” (Post to Facebook) і відповідною формою:



Вбудована вкладка Share розширена за допомогою користувальницької завдання “Розмістити в Facebook” (Post to Facebook)


Приклад 3. Додавання користувацьких команд швидкої роботи з файлами в уявлення Backstage


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


За допомогою розширення уявлення Backstage можна без зусиль замінити вбудовану команду “Закрити” (Close) для користувача елементом “Зберегти й закрити” (Save and Close), який буде служити для збереження документа перед його закриттям.


Панель навігації в поданні Backstage до і після зміни вбудованого елементу управління “Закрити” (Close) на “Зберегти й закрити” (Save and Close)


Можливість розширення уявлення Backstage. Високорівнева огляд для розробників


Користувальницькі налаштування Backstage визначаються в тому ж файлі розмітки, в якому містяться призначені для користувача настройки стрічки і контекстного меню; Backstage просто є черговим вузлом верхнього рівня. Внутрішня ієрархія Backstage багато в чому схожа з стрічкою. В основному, як і на стрічці, в поданні Backstage використовуються вкладки, які і є блоками збірки. Вкладки Backstage можуть містити один або два стовпці або групи. На користувальницької вкладці Contoso Process в наведеному раніше прикладі містяться два стовпці:



На відміну від стрічки подання Backstage може містити кнопки на самому верхньому рівні. Ці кнопки відображаються як швидкі команди в панелі навігації, аналогічно команді “Зберегти й закрити” (Save and Close) з наведеного раніше прикладу.


Незважаючи на те, що групи на стрічці і в поданні Backstage мають різну просторову організацію вмісту, в них може міститися безліч однакових типів елементів управління, при цьому зворотні виклики (користувальницькі функції, які визначають унікальне поведінку елементів управління і які викликаються з коду Office) цих елементів управління є однаковими.


Додаткові відомості про можливість розширення Backstage, структурі і функціональних можливостях цього подання будуть міститися в підготовлюваний документації по бета-версії. Після надання доступу до бета-версії Office 2010 документація буде опублікована в центрі розробників Office на сайті MSDN і міститиме повну XML-схему Backstage, список ідентифікаторів вбудованих елементів управління, детальну вступну статтю про можливості розширення Backstage, а також приклади коду розширення Backstage.


Налаштування меню Office в Office 2007


Якщо у вашому рішенні використовуються для користувача настройки меню Office в Office 2007, вони будуть працювати і в Office 2010. Всі інші функціональні можливості, додані в меню Office, будуть відображатися у спливаючому вікні надбудов в панелі навігації Backstage:



Користувальницькі додати до меню Office (з Office 2007) відображаються в панелі навігації Backstage


Покращення в платформі RibbonX


Часто розробники, які створюють рішення, пов’язані зі стрічкою, просять задіяти активацію вкладки і автоматичне масштабування групи. Активація вкладки дозволяє розробникам активувати вкладку на вимогу, тобто переміщати вкладку на передній план (як при виборі) у відповідь на деякий подія. Автоматичне масштабування групи дозволяє змінювати розташування груп стрічки відповідно з горизонтальним розміром вікна. Поліпшення розширюваності контекстного меню – це ще одна часто запитують функціональна можливість. Всі ці прохання були враховані в Office 2010.


Підтримка активації вкладки


Уявіть, що ви створили рішення Excel з декількома користувацькими вкладками. Якщо кожна користувацька вкладка відноситься до певного типу даних, ми рекомендуємо виводити певну вкладку на передній план при роботі користувача з відповідним типом даних. Це досягається за допомогою методу ActivateTab для об’єкта IRibbonUI (надання цим методом строкового параметра, вказує, яку призначену для користувача вкладку активувати):



IRibbonUI.ActivateTab(String tabID).


Можна використовувати “паралельний” метод ActivateTabMso для активації вбудованої вкладки і метод ActivateTabQ для активації вкладки, яка спільно використовується кількома надбудовами (ActivateTabQ потребує додаткового строковому параметрі, в якому буде вказано простір імен цільової надбудови).


Автоматичне масштабування користувальницької групи


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


Припустимо, клієнти хочуть використовувати ваше рішення для роботи в повному обсязі розгорнутих вікнах, щоб на екрані одночасно містилося кілька вікон. Однак їм не подобається, що при зменшенні розмірів вікна команди у створеній вами групі набувають вигляду окремої кнопки, і щоб досягти будь-якої команди, потрібно робити зайвий клацання. Вам слід лише вказати в Office 2010, що група буде автоматично змінювати макет (для властивості autoScale слід задати значення “true”), не визначаючи при цьому коли і як ваша група повинна масштабуватися. При зміні розмірів вікна елементи групи будуть розміщені найоптимальнішим чином.


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



У Office 2010 макет користувальницької групи може бути змінений для оптимального розміщення в зміненому вікні


Розширюваність контекстного меню


Якщо ваші рішення грунтуються на Office і однією з найважливіших завдань є часте використання функціональних можливостей, що залежать від контексту, то ви напевно розглядали можливість налаштування меню, викликаються клацанням правою кнопкою миші. Деякі контекстні меню можна розширити за допомогою об’єктної моделі CommandBars. Однак є контекстні меню, які неможливо змінити таким чином. Наприклад, PowerPoint 2007 містить контекстні меню, які недоступні за допомогою об’єктної моделі CommandBars. А деякі типи елементів управління (галереї, кнопки з роздільником) не можуть бути додані в контекстні меню за допомогою об’єктної моделі CommandBars.


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


Налагоджена контекстне меню комірки Excel з користувальницької кнопкою, галереєю і роздільником


Висновок


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*