NAME

Padre::PluginManager - Padre plugin manager

DESCRIPTION

The PluginManager class contains logic for locating and loading Padre plugins, as well as providing part of the interface to plugin writers.

METHODS

new

The constructor returns a new Padre::PluginManager object, but you should normally access it via the main Padre object:

  my $manager = Padre->ide->plugin_manager;

First argument should be a Padre object.

parent

Stores a reference back to the parent IDE object.

plugin_dir

Returns the user plugin directory (below the Padre configuration directory). This directory was added to the @INC module search path and may contain packaged plugins as PAR files.

plugins

Returns a hash (reference) of plugin names associated with a Padre::PluginHandle.

This hash is only populated after load_plugins() was called.

plugins_with_context_menu

Returns a hash (reference) with the names of all plugins as keys which define a hook for the context menu.

See Padre::Plugin.

reload_plugins

For all registered plugins, unload them if they were loaded and then reload them.

load_plugins

Scans for new plugins in the user plugin directory, in @INC, and in .par files in the user plugin directory.

Loads any given module only once, i.e. does not refresh if the plugin has changed while Padre was running.

alert_new

The alert_new method is called by the main window post-init and checks for new plugins. If any are found, it presents a message to the user.

failed

Returns the plugin names (without Padre::Plugin:: prefixed) of all plugins that the editor attempted to load but failed. Note that after a failed attempt, the plugin is usually disabled in the configuration and not loaded again when the editor is restarted.

load_plugin

Given a plugin name such as Foo (the part after Padre::Plugin), load the corresponding module, enable the plugin and update the Plugins menu, etc.

unload_plugin

Given a plugin name such as Foo (the part after Padre::Plugin), DISable the plugin, UNload the corresponding module, and update the Plugins menu, etc.

reload_plugin

Reload a single plugin whose name (without Padre::Plugin::) is passed in as first argument.

plugin_db

Given a plugin name or namespace, returns a hash reference which corresponds to the configuration section in the Padre database of that plugin. Any modifications of that hash reference will, on normal exit, be serialized and written back to the databasefile.

If the plugin name is omitted and this method is called from a plugin namespace, the plugin name is determine automatically.

reload_current_plugin

When developing a plugin one usually edits the files belonging to the plugin (The Padre::Plugin::Wonder itself or Padre::Documents::Wonder located in the same project as the plugin itself.

This call and the appropriate menu option should be able to load (or reload) that plugin.

on_context_menu

Called by Padre::Wx::Editor when a context menu is about to be displayed. The method calls the context menu hooks in all plugins that have one for plugin-specific manipulation of the context menu.

SEE ALSO

Padre, Padre::Config

PAR for more on the plugin system.

COPYRIGHT

Copyright 2008-2009 The Padre development team as listed in Padre.pm.

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.