Umbrello UML-modellering kan generera källkod för diverse programspråk, baserad på din UML-modell för att hjälpa dig komma igång med implementeringen av projektet. Koden som skapas består av klassdeklarationer, med metoder och attribut, så att du kan "fylla i tomrummen" genom att tillhandahålla funktionerna i klassernas operationer.
Välj programspråk att använda för projekt. Valen som erbjuds är ActionScript, Ada, C++, C#, D, IDL, Java, JavaScript, MYSQL, Pascal, Perl, PHP, PHP5, PastgreSQL, Python, Ruby, SQL, Tcl, Vala och XMLSchema
Skriv alla filer som skapas till katalog: har ett redigerbart fält för den önskade sökvägen för genererade filer eller en valfri bläddringsknapp för att välja sökvägen.
Infoga huvudfiler från katalog: Om markerad, låt användaren ange en sökväg i ett redigerbart fält eller välja den med en bläddringsknapp.
När koden genereras i den angivna katalogen, bestämmer den här inställningen vad som händer när en fil med samma namn påträffas.
Skriv över filen utan en varning eller alternativ.
Fråga om filen ska skrivas över eller om namnet ska ändras.
Använd ett annat namn när en fil redan finns genom att byta namn på det med ett suffix.
Skriv dokumenteringskommentarer även om tomma Genererar kommentarer för klasser och funktioner även om de är tomma.
Skriv kommentarer för sektioner även om sektionen är tom Skriver kommentarer för privata, skyddade och öppna sektionerna även om de är tomma.
Sidan ändras för varje programspråk som väljes under fliken Allmänt. För närvarande är de enda alternativen som är tillgängliga för språket C++.
Under fliken Allmänt under fliken Språkalternativ, listas flera kodgenereringsalternativ.
Prefix för klassmedlem
Ett alternativ som tillåter ett prefix bestämt av användaren, för att läggas till i klassmedlemmar när kod genereras.
Paket är en namnrymd
Namnrymder tillhandahåller en metod för att förhindra namnkonflikter i stora projekt. Symboler deklarerade inne i ett namnrymdsblock är placerade i en namngiven omgivning som förhindrar att de misstas för symboler med identiska namn i andra omgivningar.
Virtuella destruktorer
Även om destruktorer inte ärvs, om en basklass deklarerar sin destruktor virtuell, överskrider de härledda destruktorerna alltid den. Det gör det möjligt att ta bort dynamiskt tilldelade objekten av polymorfiska typer via pekare till basen.
Skapa tomma konstruktormetoder
Det här skapar konstruktorer som har tomma klammerparenteser.
Skapa åtkomstmetoder
Skapar genereringsmetoder för att komma åt datatyper.
Operationer är infogade
Generera metoderna infogade, men kompilatorer är fria att välja att inte infoga metoden.
Åtkomstobjekt är infogade
Metoder som kommer åt klassens data genereras infogade, men kompilatorer är fria att välja att inte infoga metoden.
Åtkomstobjekt är öppna
Metoder som genereras som öppna kommer att vara tillgängliga för alla instansieringar av klassen.
Skapa hämtningsfunktioner med prefixet 'get'
Det här lägger till prefixet "get" för metoderna som hämtar eller returnerar klassdata.
Ta bort prefix '[a-zA-Z]_' från åtkomstmetodnamn
Om ett prefix matades in i Prefix för klassmedlem, tas det bort av det här.
Åtkomstmetoder börjar med stora bokstäver
Det här gör metodnamnets första bokstav stor.
Använd '\' som dokumentationstagg istället för @
Ett val av tagg att använda när en metods parametrar dokumenteras.
Lista
Har alternativen QPtrList, vector och std::vector för listtypen. En redigerbar eller valbart fält följer för att ange deklarationsfilen tillsammans med en bläddringsknapp för att hitta och välja deklarationsfilen. Det finns också ett alternativ för att göra listan global.
Sträng
Alternativen string eller QString för strängtypen. En redigerbar eller valbart fält följer för att ange deklarationsfilen tillsammans med en bläddringsknapp för att hitta och välja deklarationsfilen. Det finns också ett alternativ för att göra strängen global.