Interface | Description |
---|---|
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 | Description |
---|---|
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.
|
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.
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.
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.