Версія для друку

Багатовіконність МД 3

Версія : 3.0

МД 3 надає користувачам можливість відкривати багато вікон з наборами даних. Всі ці вікна функціонально ідентичні (у стилі Internet Explorer), всі містять однакові меню і дають однакові можливості управління даними.

Типова задача : ви знайшли в БД потрібну вам вершину і хочете порівняти її зміст з іншою вершиною.

Як ця задача вирішувалась в МД 2.Х ?

Перший спосіб : ви відмічаєте обидві потрібні вам вершини і потім переключаєтесь між ними командами переміщення між відміченими вершинами.

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

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

В МД 3 завдяки багатовіконності поставлена задача розв’язується тільки одним, але дуже ефективним способом : ви знайшли потрібну вершину і натиснули Ctrl+N (або виконали команду меню Вид | Вікна | Нове вікно). В новому вікні ви побачите копію того набору даних, що і в першому вікні. Тепер ви пересуваєтесь у другому вікні до другою цікавої вам вершини, розміщуєте вікна на екрані вигідним для вас способом і порівнюєте вершини, переводячи погляд з одного вікна на друге.

Створення нових вікон

Для створення нових вікон передбачено дві можливості :

1. Команда меню Вид | Вікна | Нове вікно (Ctrl+N) створює нове вікно з копією поточного набору даних. Оскільки нове вікно є повністю незалежним від усіх інших вікон програми, ви можете переключатись в ньому на інші набори даних, як вважаєте потрібним.

2. Всі команди трансформації наборів даних, зосереджені в меню "Набори", при звичайному використанні трансформують набір даних у поточному вікні, але при клацанні з натиснутою клавішею Shift запускають трансформований набір даних в новому вікні.

Наприклад, ви вибрали цікаву вершину і виконали команду Набори | Обмежити | Поточна вершина. Якщо при цьому буде натиснуто Shift, буде створено нове вікно, яке містить одну тільки цікаву вершину.

Управління вікнами

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

2. Ви можете закривати додаткові вікна просто натисканням клавіші Esc. Останнє вікно вам закрити так не удасться – вам доведеться дати команду Файл | Вихід (Alt+X) або закрити вікно за допомогою системного меню (Alt+F4). Це зроблено для того, щоб випадковим натисканням Esc не завершити роботу з програмою.

3. Ви можете упорядкувати вікна командою Вид | Вікна | Каскад.

4. Командою Вид | Вікна | Список вікон ви відкриваєте спеціальне інструментальне вікно списку вікон програми. За його допомогою ви можете знайти вікно, сховане під купою інших вікон програми, активізувати його (тобто витягнути на передній план і передати йому фокус) або закрити.

5. Ви можете переключатись між вікнами клавішами Ctrl+F6 та Shift+Ctrl+F6, проходячи відповідно вперед і назад по списку вікон.

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

Особливості режиму редагування

В режимі перегляду вікна з наборами даних справді повністю незалежні і можуть не журитись існуванням інших вікон. Не так стоїть справа в режимі редагування.

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

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

2. Є двоє вікон, і одна й та сама вершина є у них сфокусованою. Ви починаєте редагувати її в першому вікні, а потім, не закінчивши редагування і не зберігши зміни, переключаєтесь на друге вікно і в ньому робите якесь інше редагування. Отже, маємо ситуацію, коли одна вершина у двох вікнах змінена по-різному. Яка ж версія буде збережена ? Правило просте : буде збережено дані з того вікна, яке першим виконало збереження вершини. При цьому воно надішле повідомлення всім іншим вершинам і змусить інші вікна завантажити оновлену інформацію. При цьому зміни в інших вікнах будуть відкинуті без застережень.

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