# Importación de fontes e xeración de código fonte

&umbrello; é unha ferramenta de modelado &UML;, e como tal o seu propósito principal é axudalo na análise e deseño de sistemas. Porén, para facer a transición entre o deseño e a implementación, &umbrello; permítelle xerar código fonte en diferentes linguaxes de programación. Tamén, se quer comezar a usar &UML; nun proxecto en C++ xa iniciado, &umbrello; pode axudalo a criar un modelo do sistema apartir do código fonte analisándoo e importando as clases que atope nel.

## Xerazón de fontes

&umbrello; pode xerar código fonte en varias linguaxes de programación baseándose no seu modelo &UML; para axudalo a comezar a implementación do seu proxecto. As fontes xeradas consisten nas declaracións da clase, cos seus métodos e atributos para que poda preencher os ocos fornecendo a funcionalidade das operacións das clases.

&umbrello; 1.2 permite a xerazón de código fonte en ActionScript, Ada, C++, CORBA IDL, &Java;, JavaScript, PHP, Perl, Python, SQL e XMLSchema.

### Xerar o código fonte

Para xerar código fonte con &umbrello;, primeiro debe criar ou cargar un modelo que conteña polo menos unha clase. Cando estexa listo para comezar a escreber algo de código fonte, escolla o Asistente de xerazón de código fonte no menú Código para iniciar un asistente que o irá guiar através do proceso de xerazón das fontes.

O primeiro paso é escolle as clases para as que queira xerar código fonte. Por omisión escolleranse todas as clases do modelo, e poderá quitar aquelas para as que non queira xerar fontes movéndoas para a lista do lado esquerdo.

O seguinte paso do asistente permítelle modificar os parámetros que o xerador de fontes usará para escreber as fontes. Están disponíbeis as seguintes opcións:

Opcións da xerazón de código fonte Opcións da xerazón de xódigo fonte en &umbrello;

Opcións da xerazón de fontes en &umbrello;

#### Opcións de xerazón

##### Verbosidade do código

A opción Escribir comentarios de documentación aínda que estexa vacío indícalle ao xerador de fontes que escreba comentarios do estilo /** bla,bla,bla */ aínda que os bloques cos comentarios estexan baleiros. Se engadiu documentación ás clases, métodos ou atributos no modelo, o Xerador de código escreberá eses comentarios como documentación Doxygen con independencia do que indique aquí, pero se escolle esta opción &umbrello; escreberá bloques de comentarios para todas as clases, métodos e atributos mesmo se non hai documentación no modelo, neste caso deberá documentar as clases máis tarde directamente nas fontes.

Escribir os comentarios das seccións aínda que estas estexan vacías fai que &umbrello; escreba comentarios nas fontes para delimitar as diferentes seccións dunha clase. Por exemplo métodos públicos ou atributos antes das seccións correspondentes. Se escolle esta opción &umbrello; escribirá comentarios en todas as seccións da clase mesmo se a sección está baleira. Por exemplo, escreberá un comentario dicindo métodos protexidos mesmo se a clase non ten métodos protexidos.

##### Cartafoles

Escribir todos os ficheiros xerados no cartafol. Aquí pode escoller o cartafol onde quer que &umbrello; poña as fontes xeradas.

A opción Incluír os ficheiros de definicións no cartafol permítelle inserir un cabezallo ao comezo de cada ficheiro xerado. Os ficheiros de definicións poden conter información acerca do copyright ou licenza e conteñen variábeis que son avaliadas no momento da xerazón. Pode botar unha ollada aos modelos de ficheiro de definicións distribuidos con &umbrello; para ver como usar estas variábeis para substituír o seu nome ou a data actual cando se produza a xerazón.

##### Política de sobrescritura

Esta opción indícalle a &umbrello; o que facer se o ficheiro que quer criar xa existe no cartafol de destino. &umbrello; non pode modificar os ficheiros de fontes xa existentes, polo que terá que escoller entre sobrescribir o ficheiro existente, saltar a xerazón dese ficheiro ou permitirlle a &umbrello; escoller un nome diferente para o ficheiro. Se escolle a opción de usar un nome diferente, &umbrello; engadirá un sufixo ao nome do ficheiro.

##### Linguaxe

Por omisión, &umbrello; xerará o código na linguaxe que escolleu como Linguaxe activa, pero co asistente para xerazón de código terá a opción de mudar isto para outra linguaxe.

#### Asistente de xerazón de código

O terceiro e último paso do asistente mostra o estado do proceso de xerazón de código fonte. Só precisa premer no botón de xerar para obter as clases.

Lembre que as opcións que escolla no asistente de xerazón de código só son válidas para a xerazón actual. A próxima vez que execute o asistente deberá escoller de novo as opcións (o cartafol para as definicións, a política de sobrescritura, e demais). Pode escoller os valores por omisión usados por &umbrello; na sección Xerazón de código coa configuración de &umbrello;, disponíbel en Configuración Configurar &umbrello;...

Se configurou as opcións de xerazón de código correctamente e quer xerar algún código sen usar o asistente, pode escoller Xerar todo o código no menú Código. Isto xerará as fontes de todas as clases no modelo usando a configuración actual (incluíndo o Cartafol de saída e política de sobrescritura, polo que o debe usar con coidado).

## Importación de código

&umbrello; pode importar fontes de proxectos existentes para axudalo a elaborar o modelo dos sistemas. &umbrello; 1.2 só soporta código C++, pero outras linguaxes estarán disponíbeis en versións futuras.

Para importar clases para o modelo, escolla a entrada Importar clases... no menú Código. No diálogo de ficheiro escolla os ficheiros que conteñan as declaracións das clases C++ e prema OK. As clases serán importadas e atoparaas como parte do modelo na vista en árbore. Lembre que &umbrello; non criará nengún tipo de diagrama para mostrar as clases, só serán importadas no modelo polo que poderá usalas máis tarde en calquer diagrama que queira.

Importación de código Menú para importar código fonte en &umbrello;

Menú para importar código fonte en &umbrello;