# Підручник з &kgraphviewer;

Gaël
de Chalendar

    kleag@free.fr

Federico
Zenith

    federico.zenith@member.fsf.org

Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
2006
Gaël de Chalendar
&FDLNotice;
14 грудня 2020 року
&kgraphviewer; 2.4.3

&kgraphviewer; — це програма для перегляду точкових графів &dot; &graphviz;. Програми &graphviz; — це вільні програмні рушії компонування графів. Графи часто використовуються у наукових працях, зокрема у комп’ютерних науках.

Метою створення &kgraphviewer; є показ графів у сучасний, дружній до користувача спосіб.

KDE
kgraphviewer
graphviz
dot
neato
переглядач

## Вступ

&kgraphviewer; — це програма для перегляду точкових графів &dot; &graphviz;. Програми &graphviz; — це вільні програмні рушії компонування графів. &kgraphviewer; надає вам змогу переглядати графи за допомогою сучасного графічного інтерфейсу користувача. Програма має такі можливості: Ось знімок вікна &kgraphviewer; Головне вікно &kgraphviewer; з показаним одним з прикладів &graphviz;

- Зміна масштабу;

- Завантаження одразу декількох графів у вкладки;

- Зберігання списку недавніх файлів;

- Огляд загальної картини графу;

- Панорамування графу за допомогою миші;

- Повноцінна можливість друку;

- Ідеальне креслення всіх прикладів графів &graphviz;;

- Підтримка розфарбування вузлів і країв, а також всіх форм вузлів;

- Автоматичний вибір &dot; для орграфів і &neato; для неорієнтованих графів;

- Ручне або автоматичне перезавантаження змінених (зовні) файлів з підтвердженням користувачем (можна налаштувати);

- Відкриття нових екземплярів програми як нових вкладок у існуючому екземплярі (можна налаштувати);

- Довідкова система;

- Переклад інтерфейсу програми.

Заплановано реалізацію таких можливостей:

- Остаточне використання бібліотеки &qanava; для підтримки внутрішнього представлення графів;

- Збереження даних сеансу щодо графів (використана програма компонування, масштаб тощо)

- Інтеграція до &kate; і &konqueror; (так, щоб зміни у перегляді графу у &kate; автоматично призводили до перекомпонування і перезавантаження файла у &kgraphviewer;);

- Меню для відкриття файла у &kate; або відкриття katepart у межах вікна &kgraphviewer;;

- Завантаження великих і величезних графів (у поточній версії існують проблеми з швидкодією для графів з 1000 вузлів, щоб уникнути цього, у програму додано алгоритм для усування «зайвих» вузлів);

- Поступова підтримка більшої і більшої кількості атрибутів і значень &dot;;

- Компонування у тлі (з відокремленням потоків, щоб не блокувати інтерфейс, з панеллю поступу).

Зауважте, що у цій програмі використано код GPL-програми &kcachegrind; з люб’язного дозволу її автора — Josef Weidendorfer.

Зауважте також, що систему друку було запозичено з програми &calligra; для роботи з базами даних &kexi;.

Інші потрібні програми: &kgraphviewer; — програма, яка використовує інструмент &graphviz; — &dot; — для компонування графів. Програма залежить від наявності таких компонентів:

- Бібліотека &Qt; та бібліотеки &kde-frameworks; версії 5.x;

- Інструменти &graphviz;, як зовнішні програми (перевіреною версією є 2.8);

- Бібліотека &boost; версії 1.36.

## Користування &kgraphviewer;

### Головне вікно

У головному вікні програми буде показано завантажені графи, кожен у окремій вкладці. Після першого запуску, якщо його було виконано без параметрів, переданих &kgraphviewer;, головне вікно буде порожнім, як це показано на знімку вікна, розташованому нижче. У цьому випадку на панелі інструментів будуть лише кнопки Відкрити… і (порожній) список Відкрити нещодавні. Натисніть першу з цих кнопок для того, щоб відкрити стандартне діалогове вікно Відкрити файл.

Початковий вигляд головного вікна &kgraphviewer; після першого запуску
Початковий вигляд головного вікна &kgraphviewer; після першого запуску

Початковий вигляд головного вікна &kgraphviewer; після першого запуску

Після відкриття одного або декількох файлів &dot;, головне вікно програми виглядатиме так, як на знімку, наведеному нижче:

Головне вікно &kgraphviewer; після відкриття декількох файлів
Головне вікно &kgraphviewer; після відкриття декількох файлів

Головне вікно &kgraphviewer; після відкриття декількох файлів

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

#### Пересування графу у вікні

Щоб пересунути граф, ви можете виконати такі дії:

- Навести на нього вказівник миші, натиснути ліву кнопку миші і перетягти граф;

- Скористатися панелями гортання;

- Понатискати клавіші зі стрілками;

- Навести вказівник миші на потрібне місце у загальному перегляді і клацнути лівою кнопкою миші;

- Скористатися коліщатком миші (просте прокручування — вгору-вниз, з натиснутою клавішею &Alt; — ліворуч-праворуч);

- або навести вказівник на поле загального перегляду, натиснути ліву кнопку миші і перетягти вказівник.

#### Зміна масштабу

Щоб змінити масштаб графу, ви можете скористатися кнопками і панелі інструментів. Ці кнопки збільшать або зменшать перегляд, ті самі дії можна виконати за допомогою натискання клавіші &Shift; з одночасним прокручуванням коліщатка миші. Під час збільшення червоний прямокутничок на загальному перегляді ставатиме меншим і меншим. Якщо менша сторона прямокутника стане коротшою за 10 пікселів, прямокутник виглядатиме повністю червоним, щоб його можна було бачити на загальному перегляді. Це ви можете бачити на знімку вікна, показаному нижче.

Граф за максимального збільшення
Граф за максимального збільшення

Граф за максимального збільшення

Зміна масштабу обмежена у обох напрямках коефіцієнтом 10. Нижче ви можете бачити граф за максимального коефіцієнта зменшення.

Граф за максимального зменшення
Граф за максимального зменшення

Граф за максимального зменшення

#### Робота з файлами графів

##### Файли, які було змінено

Якщо файл, який було завантажено до &kgraphviewer;, буде змінено сторонньою програмою, буде відкрито таке діалогове вікно:

Діалогове вікно перезавантаження файла, який було змінено на диску
Діалогове вікно перезавантаження файла, який було змінено на диску

Діалогове вікно перезавантаження файла, який було змінено на диску

Ви можете обрати між перезавантаженням графу і ігноруванням змін. Ви також можете наказати &kgraphviewer; запам’ятати вибраний варіант і обрати його наступного разу, коли виникне потреба у виборі. Якщо пізніше вам потрібно буде змінити ваш вибір, скористайтеся пунктом меню Параметри Налаштувати &kgraphviewer;. Див. .

##### Файли і вікна

Якщо ви відкриваєте файл графу поза запущеним екземпляром &kgraphviewer;, наприклад, за допомогою переглядача файлів або командного рядка, ви зможете вибрати між відкриттям нового вікна &kgraphviewer;, відкриттям графу на новій вкладці у існуючому вікні. Вибір можна зробити за допомогою діалогового вікна, показаного нижче.

Діалогове вікно відкриття нового вікна
Діалогове вікно відкриття нового вікна

Діалогове вікно відкриття нового вікна

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

##### Робота з сеансами

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

Початкове діалогове вікно для перезавантаження графів з попереднього сеансу
Початкове діалогове вікно для перезавантаження графів з попереднього сеансу

Початкове діалогове вікно для перезавантаження графів з попереднього сеансу

### Друк графів

Для того, щоб переглянути і змінити параметри друку, натисніть кнопки Попередній перегляд і Налаштування сторінки.

Діалогове вікно налаштування сторінки
Діалогове вікно налаштування сторінки

Діалогове вікно налаштування сторінки

Ви можете налаштувати параметри друку так, щоб граф було розташовано точно на одній сторінці, у показаний нижче спосіб:

Налаштування, які даватимуть змогу надрукувати все на одній сторінці
Налаштування, які даватимуть змогу надрукувати все на одній сторінці

Налаштування, які даватимуть змогу надрукувати все на одній сторінці

Ви також можете розділити граф на декілька сторінок. Кількість сторінок по горизонталі і вертикалі можна обирати окремо.

Налаштування перегляду друку для друку на декількох сторінках і заповнення цих сторінок графом
Налаштування перегляду друку для друку на декількох сторінках і заповнення цих сторінок графом

Налаштування перегляду друку для друку на декількох сторінках і заповнення цих сторінок графом

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

Ви можете змінити розмір сторінок і полів сторінок:

Діалогове вікно розміру сторінок і полів сторінок
Діалогове вікно розміру сторінок і полів сторінок

Діалогове вікно розміру сторінок і полів сторінок

Ви також можете змінити шрифт, верхні і нижні колонтитули:

Налаштування друку на декількох сторінка без заголовка різним шрифтом
Налаштування друку на декількох сторінка без заголовка різним шрифтом

Налаштування друку на декількох сторінка без заголовка різним шрифтом

### Налаштування &kgraphviewer;

За допомогою сторінки Вигляд ви можете змінити типовий колір тла, який використовуватиметься у &kgraphviewer;, якщо для графу не визначено власного кольору тла.

Сторінка для зміни вигляду графу
Сторінка для зміни вигляду графу

Сторінка для зміни вигляду графу

За допомогою сторінки Обробка ви можете вибрати зовнішню програму або вбудовану бібліотеку для обробки файлів &dot; &graphviz;.

Сторінка перезавантаження файлів у діалоговому вікні налаштування програми
Сторінка перезавантаження файлів у діалоговому вікні налаштування програми

Сторінка перезавантаження файлів у діалоговому вікні налаштування програми

За допомогою сторінки Перезавантаження ви можете змінити поведінку програми &kgraphviewer;, якщо файл буде змінено на диску іншою програмою. Ви можете вибрати типову дію (автоматичне перезавантаження або ігнорування змін), або вказати, що програмі слід питати вас про належну дію кожного разу.

Сторінка перезавантаження файлів у діалоговому вікні налаштування програми
Сторінка перезавантаження файлів у діалоговому вікні налаштування програми

Сторінка перезавантаження файлів у діалоговому вікні налаштування програми

На сторінці Відкриття ви можете змінити поведінку програми &kgraphviewer;, якщо файл графу буде відкрито поза межами поточного сеансу роботи з програмою. Ви можете вибрати типову дію (відкриття у існуючому вікні або у новому вікні) або вказати програмі, що слід питати вас про належну дію кожного разу.

Сторінка діалогового вікна налаштування для відкриття нових файлів у існуючому вікні
Сторінка діалогового вікна налаштування для відкриття нових файлів у існуючому вікні

Сторінка діалогового вікна налаштування для відкриття нових файлів у існуючому вікні

За допомогою сторінки Керування сеансами можна змінити поведінку &kgraphviewer; під час запуску програми. Ви можете вибрати типову дію (відкриття файлів з попереднього сеансу або запуск без відкритих файлів) або вказати програмі, що слід питати вас про належну дію кожного разу.

Сторінка діалогового вікна налаштування програми, на якій можна вказати, що слід відкривати файли з попереднього сеансу
Сторінка діалогового вікна налаштування програми, на якій можна вказати, що слід відкривати файли з попереднього сеансу

Сторінка діалогового вікна налаштування програми, на якій можна вказати, що слід відкривати файли з попереднього сеансу

### Різноманітні функції

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

Розкладка

  За допомогою цього пункту ви можете вибрати один з декількох алгоритмів компонування &graphviz; або вказати свій власний. Серед пунктів меню, які описано на домашній сторінці &graphviz;, ви побачите:

  &dot;

    Алгоритм &dot;, типовий для орграфів. За його допомогою можна отримати ієрархічні або багатошарові креслення орграфів. За цього алгоритму компонування спочатку буде вирівняно у одному напрямку зв’язки (згори до низу або зліва праворуч), а потім зроблено спробу уникнення перетинів зв’язків і зменшення їх довжини.

  &neato;

    Алгоритм &neato;, типовий для неорієнтованих графів. За його використання буде створено компонування у вигляді пружинної моделі. Цей алгоритм використовує алгоритм Камади-Каваї, який еквівалентний до статистичного багатовимірного масштабування.

  &twopi;

    Алгоритм &twopi;, який можна використовувати для орієнтованих і неорієнтованих графів. Радіальне компонування, відповідно до роботи Грехема Вілса, 1997.

  &fdp;

    Алгоритм &fdp; для неорієнтованих графів. Створює компонування у вигляді пружинної моделі. Є реалізацією евристики Фрухтермана-Рейнгольда, зокрема багатосіткового розв’язувача, який добре обробляє великі графи і кластеризовані неорієнтовані графи.

  &circo;

    Алгоритм &circo;. Створює кільцеве компонування, створено на основі робіт Сикса і Толліса, 1999, та Кауфмана і Візе, 2002. Добре працює для деяких діаграм, що складаються з декількох циклічних структур.

  Вказати команду компонування…

    Відкриває діалогове вікно, за допомогою якого ви можете вказати команду компонування, яку буде виконано командною оболонкою. Цій команді має бути передано один параметр, назву файла графу, команда має вивести компонування до stdout мовою xdot. У цей спосіб ви можете передати специфічні параметри до однієї з попередніх команд або застосувати фільтрування, яке змінюватиме ваш граф до його обробки за допомогою &dot;.

  Відновити типову команду компонування

    Визначити тип графу (орієнтований чи ні) і застосувати до нього типовий алгоритм, у поточний версії &dot; і &neato; відповідно.

Експортувати граф

  Як зображення…

    Надає змогу експортувати весь граф до усіх підтримуваних форматів.

Увімкнути загальний перегляд

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

Позиція загального перегляду

  Тут можна вказати місце, де буде розташовано загальний перегляд у вікні перегляду графу. Серед можливих варіантів:

  Верхній лівий

    Розташувати загальний перегляд у верхньому лівому куті;

  Верхній правий

    Розташувати загальний перегляд у верхньому правому куті;

  Нижній лівий

    Розташувати загальний перегляд у нижньому лівому куті;

  Нижній правий

    Розташувати загальний перегляд у нижньому правому куті;

  Автоматично

    Автоматично вибрати найкраще розташування так, щоб загальний перегляд затуляв якомога меншу частину графу.

## Довідка щодо команд

### Меню &kgraphviewer;

#### Меню «Файл»

&Ctrl;N Файл Створити

  Відкриває нове вікно &kgraphviewer;.

&Ctrl;O Файл Відкрити

  Відкриває діалогове вікно Відкрити файл.

Файл Відкрити недавні

  Показує поточний список десяти файлів графів, які відкривалися найчастіше.

Файл Експортувати граф Як зображення…

  Надає вам змогу експортувати весь граф до усіх підтримуваних форматів зображень.

&Ctrl;P Файл Друкувати...

  Друкує поточний граф на основі поточного набору параметрів друку.

&Ctrl;&Shift;P Файл Перегляд друку

  Відкриває діалогове вікно Попереднього перегляду результатів друку поточного графу.

Файл Налаштувати сторінку…

  Відкриває діалогове вікно Налаштування сторінки для поточного графу.

&Ctrl;Q Файл Вийти

  Завершує роботу &kgraphviewer;.

#### Меню «Перегляд»

&Ctrl;+Перегляд Збільшити

  Збільшує масштаб поточного графу на 10%.

&Ctrl;-Перегляд Зменшити

  Зменшує масштаб поточного графу на 10%.

Перегляд Оновити

  Перезавантажує поточний граф.

Перегляд Алгоритм компонування

  Відкриває підменю із різноманітними алгоритмами компонування &graphviz; для поточного графу.

&Ctrl;B Перегляд Увімкнути загальний перегляд

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

Перегляд Позиція загального перегляду

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

  Верхній лівий

    Розташувати загальний перегляд у верхньому лівому куті;

  Верхній правий

    Розташувати загальний перегляд у верхньому правому куті;

  Нижній лівий

    Розташувати загальний перегляд у нижньому лівому куті;

  Нижній правий

    Розташувати загальний перегляд у нижньому правому куті;

  Автоматично

    Автоматично вибрати найкраще розташування так, щоб загальний перегляд затуляв якомога меншу частину графу.

#### Меню «Параметри» і «Довідка»

У &kgraphviewer; передбачено типові для &kde; пункти меню Параметри і Довідка. Щоб дізнатися більше, ознайомтеся з розділами щодо меню «Параметри» та меню «Довідка» підручника з основ роботи у &kde;.

### Панелі інструментів &kgraphviewer;

#### Головна панель інструментів

  Відкриває діалогове вікно Відкриття файла.

  Показує список нещодавно відкритих файлів.

  Відкриває діалогове вікно Попереднього перегляду результатів друку.

#### Панель інструментів перегляду

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

  Збільшує масштаб поточного графу на 10%.

  Зменшує масштаб поточного графу на 10%.

#### Панель інструментів довідки

  Замінює вказівник миші на вказівник Що це? Наведення такого вказівника на елемент графічного інтерфейсу користувача з наступним клацанням лівою кнопкою миші відкриє контекстне вікно довідки щодо його використання (якщо така довідка доступна).

## Подяки і ліцензія

### Програма

#### Основні автори

Авторські права на програму належать Gaël de Chalendar kleag@free.fr, ©2005–2006.

#### Учасники розробки (список буде поповнюватися)

- Reimar Döffinger Reimar.Doeffinger@stud.uni-karlsruhe.de

### Інструкція користувача

Авторські права на документацію належать Gaël de Chalendar kleag@free.fr, ©2006.

#### Учасники розробки

- Federico Zenith federico.zenith@member.fsf.org

### Інші подяки

У цій програмі міститься код, запозичений з інших проєктів вільного програмного забезпечення:

&kcachegrind;

  Початкова модель графів і класи перегляду;

&kexi;

  Налаштування друку і класи попереднього перегляду.

### Ліцензування

Переклад українською: Юрій Чорноіван yurchor@ukr.net

&underFDL; &underGPL;

&documentation.index;