<sect1 id="scripting-backend-rootedtree">
<title
>Програмний інтерфейс (API) скриптів для модуля роботи з кореневими деревами</title>
<sect2>
<title
>Структура даних «кореневе дерево»</title>
<para
>За допомогою діалогового вікна властивостей структури даних можна отримати доступ до параметрів налаштовування, специфічних для певного модуля роботи з графами. Позначенням пункту властивості <guilabel
>Показувати всі вказівники</guilabel
> можна наказати програмі показати всі вказівники між вузлами дерева. Якщо пункт не буде позначено, кратні вказівники між вузлами буде спрощено до одинарних. </para>
</sect2>

<sect2>
<title
>Структура «кореневе дерево»</title>
<para
>Якщо вказано об’єкт структури даних типу «кореневе дерево», ви зможете виконувати читання або запис таких властивостей: </para>
<programlisting
>ShowAllPointers     // встановіть значення true, якщо слід показувати всі ребра, або false, якщо кратні ребра слід спрощувати
</programlisting>
<para
>Якщо вказано об’єкт структури даних типу «кореневе дерево», ви зможете викликати такі функції роботи з елементами: </para>
<programlisting
>node add_data(string name);         // додати вузол з вказаною назвою до дерева
void set_root_node(node root);      // зробити root кореневим вузлом дерева
node root_node();                   // повертає кореневий вузол дерева
</programlisting>
</sect2>

<sect2>
<title
>Вузли «кореневого дерева»</title>
<para
>Якщо вказано об’єкт вузла типу «кореневе дерево», ви зможете виконувати читання або запис таких властивостей: </para>
<programlisting
>int numberOfChilds                  // встановити кількість (дозволену) дочірніх вузлів цього вузла
node left_child                     // лише читання: вузол, який є лівим дочірнім
node right_child                    // лише читання: вузол, який є правим дочірнім
node node_parent                    // лише читання: вузол, який є батьківським
</programlisting>
<para
>Якщо вказано ребра структури даних типу «кореневе дерево», ви зможете викликати такі функції роботи з елементами: </para>
<programlisting
>node add_left_child(node child);    // додати лівий дочірній
node add_right_child(node child);   // додати правий дочірній
node add_child(node child, int i);  // додати дочірній вузол як i-ий дочірній вузол вузла
node add_node_parent(node child);   // додати батьківський вузол (буде успішним, лише якщо батьківського вузла ще не було)
node left_child();                  // повертає правий дочірній
node right_child();                 // повертає лівий дочірній
node child_at(int i);               // повертає i-ий дочірній вузол вузла
node node_parent();                 // повертає батьківський вузол вузла
</programlisting>
</sect2>

<sect2>
<title
>Ребра «кореневого дерева»</title>
<para
>Якщо вказано ребра структури даних типу «кореневе дерево», доступними будуть лише властивості основної структури даних. </para>
</sect2>
</sect1>
