# Settings

## General Settings

General Settings Options for the General Settings in &umbrello;

Options for the General Settings in &umbrello;

### Miscellaneous

- The option Enable undo allows undoing a previous action.

- Use new C++/Java/Ruby generators lets the user select either the old or new code generators

- Turn on footer and page numbers when printing when selected, prints diagram information for the diagram being printed and the page number.

- Use tabbed diagrams gives the option of having multiple tabbed diagram windows open at a time.

### Autosave

- Enable autosave gives a choice to autosave the file.

- Select auto-save time interval (mins): allows setting the time before the file is autosaved.

- Set autosave suffix: defaults to .xmi but allows a different file extension to be set.

### Startup

- Load last project if set, always loads the last work project upon program startup.

- Start new project with: gives a choice of which UML diagram type to start with in a new project.

- Default Language: is a setting for the default programming language used.

### Notifications

- Enable all messages is an option to either see all notifications or a reduced set of notifications.

- Enable 'delete association' related messages ensures that you will receive all messages of this type if checked.

- Enable 'delete diagram' related messages will enable all messages of this type if checked.

## Font Settings

Font Settings Options for the Diagram Font Settings in &umbrello;

Options for the Diagram Font Settings in &umbrello;

These font settings set the characteristics of the text in the diagrams. Font style and size are the only selectable options.

## User Interface Settings

User Interface Settings Options for the User Interface Settings in &umbrello;

Options for the User Interface Settings in &umbrello;

### General

Right to left user interface configures the interface for the right to left languages.

### Associations

Use angular associating lines allows association lines to vary at any angle.

Create new association lines as: gives the ability to change the association line style.

### Color

The color section gives several options to change the text, line, fill, grid and background colors as well as the line width.

## Class Settings

Class Settings Options for the Class Settings in &umbrello;

Options for the Class Settings in &umbrello;

### Show

The Show section has numerous settings that determine which class characteristics are shown in the Class Diagram.

### Starting Scope

Choices for attribute and operation default settings, public, private or protected.

## Code Import Settings

Code Import Settings Options for the Code Import Settings in &umbrello;

Options for the Code Import Settings in &umbrello;

### Include Search Paths

A general recommendation is given to improve searching by including UMBRELLO INCPATH as an environment variable.

### C++-Import

- For each imported file create an artifact in the component view The artifact created can then be dragged into the Class Diagram view where dependencies can be easily seen along with the attributes and functions of each file.

- Resolve dependencies (reduces import speed) Ensures all file dependencies are resolved which then shows up in class dependencies in the Class Diagram.

- Enable C++11 standard (experimental) An experimental feature to conform to C++11, disable if not needed.

## Code Generation Settings

### Code Generation Settings General Tab

Code Generation General Settings Options for the Code Generation General Settings in &umbrello;

Options for the Code Generation General Settings in &umbrello;

Umbrello UML Modeller can generate source code for various programming languages based on your UML Model to help you get started with the implementation of your project. The code generated consists of the class declarations, with their methods and attributes so you can "fill in the blanks" by providing the functionality of your classes' operations.

#### Language

Choose the programming language to use for projects. The choices offered are ActionScript, Ada, C++, C#, D, IDL, Java, JavaScript, MYSQL, Pascal, Perl, PHP, PHP5, PastgreSQL, Python, Ruby, SQL, Tcl, Vala and XMLSchema

#### Folders

Write all generated files to folder: has an editable field for the desired path for generated files or optionally a browse button to select the path.

Include heading files from folder: if checked, lets the user specify a path in an editable field or choose it with a browse button.

#### Overwrite Policy

When the code is generated into the specified folder, this setting determines what happens if a file with the same name is encountered.

- Overwrite the file without a warning or option.

- Ask whether to overwrite the file or rename it.

- Use a different name when a file already exists by renaming it using a suffix.

### Code Generation Settings Formatting Tab

Code Generation Formatting Settings Options for the Code Generation Formatting Settings in &umbrello;

Options for the Code Generation Formatting Settings in &umbrello;

#### Comment Verbosity

Write documentation comments even if empty Generates comments for classes and functions even if they are empty.

Write comments for sections even if section is empty Writes comments for the private, protected and public sections even if they are empty.

#### Lines

Indentation type: offers a choice between no indentation, tab or space.

Indentation amount: lets the user specify the number of spaces for the tab or space indentation choice.

Line ending style: is a choice between the line ending styles of *NIX, Windows and Mac.

### Language Options

Code Generation Language Options Options for the Code Generation Language Settings in &umbrello;

Options for the Code Generation Language Settings in &umbrello;

This page changes for each programming language selected under the General tab. Currently the only options available are for the C++ language.

#### C++ Code Generation

##### Documentation

Style: gives a choice to use either "/** */" or "//" as the documentation style

##### General

Under the General tab of the Language Options tab, several code generation options are listed.

- Class member prefix

  An option that allows a prefix determined by the user, to be added to class members when code is generated.

- Package is a namespace

  Namespaces provide a method for preventing name conflicts in large projects. Symbols declared inside a namespace block are placed in a named scope that prevents them from being mistaken for identically-named symbols in other scopes.

- Virtual destructors

  Even though destructors are not inherited, if a base class declares its destructor virtual, the derived destructor always overrides it. This makes it possible to delete dynamically allocated objects of polymorphic type through pointers to base.

- Generate empty constructors

  This will generate constructors that have empty braces.

- Generate accessor methods

  Will generate methods to access datatypes.

- Operations are inline

  Generate the methods as inline, but compilers are free to choose not to inline the method.

- Accessors are inline

  Methods that access the class' data will be generated inline, but compilers are free to choose not to inline the method.

- Accessors are public

  Methods that are generated as public will be available to any instantiation of the class.

- Create getters with 'get' prefix

  This will put the prefix "get" on the methods that get/return the class data.

- Remove prefix '[a-zA-Z]_' from accessor method names

  If a prefix was entered in Class member prefix, this will remove it.

- Accessor methods start with capital letters

  This capitalizes the first letter of the method name.

- Use '\' as documentation tag instead of @

  A tag choice to use when documenting parameters of a method.

##### Method Body Generation

Code Generation Language Method Body Options Options for the Code Generation Language Method Body Settings in &umbrello;

Options for the Code Generation Language Method Body Settings in &umbrello;

List

Has options of QPtrList, vector, and std::vector for the list type. An editable or selectable field follows to specify the include file along with a browse button to find a select the include file. There is also an option to make the list global.

String

Options of string or QString for the string type. An editable or selectable field follows to specify the include file along with a browse button to find a select the include file. There is also an option to make the string global.

## Code Viewer Settings

Code Viewer Settings Options for the Code Viewer Settings in &umbrello;

Options for the Code Viewer Settings in &umbrello;

Allows customization of the Code Viewer. The Requested Font section allows the selection of the font, font style, and font size. A representation of you choices is shown below the choices.

In the Colors section, changes can be made to Paper, Font, Selected, UML object block, Hidden block, Editable text, and Uneditable text. Changes to the colors can be made by clicking on the color box by the respective label.

## Auto Layout Settings

Auto Layout Settings Options for the Auto Layout Settings in &umbrello;

Options for the Auto Layout Settings in &umbrello;

Auto detect layout generator

The auto layout feature depends on layout generators provided by the GraphViz package, which is normally installed alongside Umbrello by a package manager. Umbrello has built-in support for detecting the installed location of these layout generators. For cases where this dependency is not available or does not fit, a different installation path could be selected.

Show export layout in diagram context menu

Dot file export is performed by using the export layout. With this option checked, the export layout is added to the list of available diagram layouts and enables a quick dot export preview.