### Plugins Manager

The Plugin Manager is used to control the plugins that can be used in the application. The following operations are available:

1. Enable a plugin that is disabled
2. Disable a plugin that is enabled
3. Add new plugins
4. Remove a plugin reference (do not remove the plugin itself)

The following figure shows the plugin manager component:

Each line presented in the table represents a plugin in the system. Note in the Enabling column that there are some plugins checked and others are not checked. The plugins checked are loaded with the applicaton and the unchecked are not loaded even though they are available in the system.

#### Loading and Unloading plugins

Loading and unloading plugins changes the way they are presented in the table. The lines highlighted in bold letter reflects the plugins changes. Thus, it is possible to know which plugins changed from Enable to Disable and vice-versa looking all lines highlighted. These modifications are not valid until the user press the Apply buttom. After that the highlighted lines comes back to normal.

1. Check/Uncheck the Enabling box of the desired plugin.
2. Press Apply.
3. Answer Yes/No the question about the dependencies.

#### Plugins Dependencies

When enabling a plugin all of its dependencies must be loaded either. The dependencies list are checked by the plugin manager that ask for the user to load them one by one. If all dependencies are satisfied then the plugin will be loaded.

When disabling a plugin all of its dependencies will also be unloaded, unless the client answer "no" to the question.

#### Adding plugins

1. Click on to add an existing plugin.
2. Choose File or Directory (where a list of manifest files for plugins are)
3. Press and select the xml file that represent the plugin (TerraLib plugin *.teplg)
4. Press OK

Adding plugins does not means that it will be enabled. The add operation just adds the plugin to the list of unloaded plugins. See the enabel/diable section above.

#### Removing plugins

1. Select the plugins to be removed clicking over the line.
2. Click on to remove the plugin reference in the list.
3. See the plugins selected to be removed in italic font on the table.
4. Press Apply.
5. Resolve its dependencies saying Yes or No to its dependencies which will also be removed.

Removing plugins do not remove physically its files, it only removes its reference in the list. The manager will not load it any more.

#### Broked plugins

Brokek Plugins are plugins which have dependencies missed. For some reason its dependencies can not be load. This kind of plugin will be showed in the manager without the checking box enabled, because it can not be loaded. To revert this situation, its is necessary to load all its dependencies.