<chapter id="code-import-generation">
<title
>Імпортування та створення коду</title>
<para
>&umbrello; є інструментом для моделювання за допомогою &UML;, а отже його основним призначенням є допомогти вам у <emphasis
>аналізі і розробці</emphasis
> ваших систем. Крім того, для створення містка між вашими розробками і їх <emphasis
>реалізаціями</emphasis
> &umbrello; надає вам змогу створювати початкові коди програм різними мовами програмування. Якщо ви забажаєте почати використання &UML; у вже створеному проєкті C++, &umbrello; може допомогти вам створити модель вашої системи за початковими кодами шляхом аналізу вашого початкового коду та імпортування знайдених у ньому класів. </para>
<sect1 id="code-generation">
<title
>Створення коду</title>
<para
>&umbrello; може створювати початкові коди різними мовами програмування на основі вашої моделі &UML;, це допоможе вам розпочати реалізацію вашого проєкту. Створений код складатиметься з оголошень класів з їх методами та атрибутами, отже вам залишиться лише  <quote
>заповнити порожні місця</quote
> реалізацією дій, передбачених у ваших класах. </para>
<para
>У версії &umbrello; 2 реалізовано підтримку створення коду для мов програмування ActionScript, Ada, C++, C#, D, IDL, &Java;, JavaScript, MySQL та Pascal. </para>
<sect2 id="generate-code">
<title
>Як створити код</title>
<para
>Для того, щоб створити за допомогою &umbrello; початкові коди, вам спершу слід створити або завантажити модель, у якій міститиметься принаймні один клас. Коли ваша модель буде готова для створення коду, оберіть пункт <guimenuitem
>Майстер створення коду</guimenuitem
> з меню <guimenuitem
>Код</guimenuitem
>, щоб запустити майстер, за допомогою якого ви зможете пройти всіма кроками процесу створення коду. </para>
<para
>Першим кроком буде вибір класів, для яких ви бажаєте створити початкові коди. Типово, буде обрано всі класи вашої моделі, ви зможете вилучити ті з них, для яких створювати код не потрібно, пересуванням відповідних записів до списку, розташованого у лівій частині вікна. </para>
<para
>На наступному кроці майстер надасть вам змогу змінити параметри, які буде використано інструментом створення коду під час запису вашого коду. Можна змінити такі параметри: </para>
<para>
<screenshot>
<screeninfo
>Параметри створення коду</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="generation-options.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Параметри створення коду у &umbrello;</phrase>
	  </textobject>
	  <caption>
	    <para
>Параметри створення коду у &umbrello; </para>
	  </caption>
	</mediaobject>
</screenshot>
</para>
<sect3 id="generation-options">
<title
>Параметри створення</title>
<!-- LW; to rearrange -->

<sect4>
<title
>Докладність коментарів</title>
<para
>За допомогою параметра <guilabel
>Записувати коментарі документації, навіть якщо елементи порожні</guilabel
> можна наказати засобу створення коду записати коментарі у стилі /** тру-ля-ля */, навіть якщо блоки коментаря є порожніми. Якщо ви додавали документацію до ваших класів, методі або атрибутів вашої моделі, засіб створення коду запише ці коментарі у вигляді документації <application
>Doxygen</application
> безвідносно до того, чи позначите ви цей параметр, але, якщо ви позначите цей пункт &umbrello; запише блоки коментарів для всіх класів, методів та атрибутів, навіть якщо у самій моделі документації не було, у останньому випадку вам слід буде виконати документування ваших класів безпосередньо у початкових кодах програми. </para>
<para
>Позначення пункту <guilabel
>Записувати коментарі у розділи, навіть якщо розділ порожній</guilabel
> призведе до того, що &umbrello; запише коментарі до коду програми для відокремлення різних розділів класу, наприклад <quote
>публічних (public) методів</quote
> або <quote
>Атрибутів</quote
> перед відповідними розділами. Якщо ви позначите цей пункт, &umbrello; запише коментарі для всіх розділів класу, навіть якщо розділ є порожнім. Наприклад, програма запише коментар зі словами <quote
>protected methods</quote
> (захищені методи), навіть якщо у вашому класі немає захищених методів. </para>
</sect4>
<sect4>
<title
>Теки</title>
<para
><guilabel
>Записати всі створені файли в теку:</guilabel
>. Тут вам слід обрати теку, до якої &umbrello; має записати створені коди програми. </para>
<para
>За допомогою пункту <guilabel
>Включати файли заголовків з теки:</guilabel
> ви можете вставити заголовки на початок кожного зі створених файлів. Файли заголовків можуть містити відомості про авторські права або ліцензування програми, а також змінні, які має бути обчислено під час створення. Щоб дізнатися, яким чином можна скористатися цими змінними для заміни вашого імені або поточної дати під час створення файлів, ви можете переглянути файли шаблонів заголовків, які постачаються разом з &umbrello;. </para>
</sect4>
<sect4>
<title
>Правила перезапису</title>
<!-- FIXME update for Umbrello 1.2's new C++ and Java code generators -->
<para
>За допомогою цього пункту можна визначити поведінку &umbrello;, якщо програма виявить, що файл, який вона бажає створити вже існує у теці призначення. &umbrello; <emphasis
>не може змінювати вже існуючих файлів коду</emphasis
>, отже вам залишається обрати між перезаписом існуючого файла, пропуском створення цього окремого файла або наданням дозволу &umbrello; на створення файла з іншою назвою, яку обере програма. Якщо ви використаєте варіант з іншою назвою, &umbrello; додасть певний суфікс до назви файла. </para>
</sect4>
<sect4>
<title
>Мова</title>
<para
>Типово, &umbrello; створить код мовою програмування, яку ви обрали як активну мову, але у майстрі створення коду ви можете змінити цей вибір і обрати іншу мову. </para>
</sect4>
</sect3
><!--generation-options-->
<sect3 id="generation-wizard-generation">
<title
>Створення за допомогою майстра створення</title>
<para
>На третьому і останньому кроці майстер покаже вам стан процесу створення коду. Вам залишиться лише натиснути кнопку «Створити», щоб програма створила потрібні вам класи. </para>
<para
>Пам’ятайте, що параметри, які ви оберете під час створення коду за допомогою майстра, будуть чинними лише під час поточного сеансу створення коду. Після наступного запуску майстра вам знову потрібно буде обирати значення цих параметрів (адресу вашої теки з заголовками, правила перезапису тощо). Встановити типові значення, які використовуватиме &umbrello; можна у розділі <guilabel
>Створення коду</guilabel
> параметрів &umbrello;, вікно яких можна відкрити за допомогою пункту меню <menuchoice
><guimenu
>Параметри</guimenu
> <guimenuitem
>Налаштувати &umbrello;...</guimenuitem
></menuchoice
> </para>
<para
>Якщо ви вказали належні значення параметрів створення коду і бажаєте одразу перейти до створення коду без використання майстра, ви можете обрати пункт <guimenuitem
>Створити весь код</guimenuitem
> з меню <guimenu
>Код</guimenu
>. Програма створить код для всіх класів у вашій моделі на основі поточних параметрів (зокрема значень теки виводу даних і правил перезапису, отже будьте обережні). </para>
</sect3>
</sect2
><!--generate-code-->
</sect1
> <!--code-generation-->
<sect1 id="code-import">
<title
>Імпортування коду</title>
<para
>&umbrello; може імпортувати код з вже створених вами проєктів, щоб допомогти вам у побудові моделі ваших систем. У версії &umbrello; 2 реалізовано підтримку коду мовами програмування ActionScript, Ada, C++, C#, D, IDL, &Java;, Javascript, MySQL та Pascal. </para>
<para
>Щоб імпортувати класи до моделі, скористайтеся пунктом <guimenuitem
>Майстер імпортування класів...</guimenuitem
> з меню <guimenu
>Код</guimenu
>. У діалоговому вікні вибору файлів оберіть файли, у яких містяться визначення класів C++, а потім натисніть кнопку <guibutton
>Далі 
></guibutton
> та <guibutton
>Почати імпортування</guibutton
>. Вказані класи буде імпортовано, їхні записи стануть частиною вашої моделі, ви побачите їх у перегляді деревом. Пам’ятайте, що &umbrello; не створюватиме ніякої діаграми для показу ваших класів, їх буде лише імпортовано для вашої моделі, а пізніше ви зможете скористатися ними для будь-якої бажаної діаграми. </para>
<para>
<screenshot>
<screeninfo
>Імпортування коду</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="code-import.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Меню для імпортування вихідних кодів у &umbrello;</phrase>
	  </textobject>
	  <caption>
	    <para
>Меню для імпортування вихідних кодів у &umbrello; </para>
	  </caption>
	</mediaobject>
</screenshot>
</para>
</sect1>
</chapter
> <!--code-import-generation-->
