Package projectviewer.config

How to use project-specific options.

See:
          Description

Interface Summary
ExtensionManager.ManagedService Classes that use extensions should implement this interface and register themselves by calling ExtensionManager.register(ManagedService), to receive events about changes in the service configuration.
OptionsService Defines the service for showing custom options panes when editing a project.
VersionControlService Defines the service for providing version control information for a project.
 

Class Summary
AppLauncher Holds information on what applications to use to open certain types of files, based on user-configured file name globs.
ContextOptionPane ProjectViewer context menu editor.
ExtensionConfigPane Config pane for managing available extensions.
ExtensionManager A central location for managing ProjectViewer extensions (deployed as jEdit services).
ProjectAppConfigPane Option pane for the external applications configuration.
ProjectFilterPane Option pane for the filter configuration.
ProjectOptions A class for managing a dialog for configuring the properties of a project.
ProjectViewerConfig Class to hold configuration information for the plugin.
ProjectViewerOptionsPane Option pane to configure the ProjectViewer plugin.
 

Package projectviewer.config Description

How to use project-specific options.

Custom Option Panes

ProjectViewer allows other plugins to add custom panes to the project's option panes, allowing for per-project configuration options. To use this facility, plugins should provide an implementation of OptionsService in their service.xml file.

Like for regular jEdit option panes and groups, set the options.optionPaneName.label property in the plugin's properties to set the label to be shown on the navigation pane of the options dialog.

For an example of adding option panes to jEdit, you can look at the source code of the "debug" plugin that is part of the ProjectViewer sources, under the "pvdebug" subdirectory.

Version Control

Projects may be associated with a version control plugin. Plugins that want to provide version control functionality to ProjectViewer should implement the VersionControlService interface.

The option panes for version control plugins are only shown when the user chooses the plugin as the version control provider in the main option pane for the project.

Storing Project-specific Options

Plugins may add properties directly to the project, without the need to keep their own configuration file for the projects. The project gives access to its internal java.util.Properties instance, for compatibility with jEdit's properties so that as little work as possible is needed to convert an existing AbstractOptionPane implementation to work with ProjectViewer.

To use project-specific options, it is easier if the plugin uses a "property" based configuration style, just like jEdit provides by jEdit.getProperty(), or in the same style of the java.util.Properties class.

For easier serialization of configuration data, take a look at the PropertiesBean class shipped with jEdit.