NAME

Padre::PluginManager - Padre plug-in manager

DESCRIPTION

The PluginManager class contains logic for locating and loading Padre plug-ins, as well as providing part of the interface to plug-in 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 plug-in directory (below the Padre configuration directory). This directory was added to the @INC module search path.

plugins

Returns a hash (reference) of plug-in 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 plug-ins as keys which define a hook for the context menu.

See Padre::Plugin.

main

A convenience method to get to the main window.

load_plugins

Scans for new plug-ins in the user plug-in directory, in @INC, and in .par files in the user plug-in directory.

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

reload_plugins

For all registered plug-ins, unload them if they were loaded and then reload them.

alert_new

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

failed

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

load_plugin

Given a plug-in name such as Foo (the part after Padre::Plugin), load the corresponding module, enable the plug-in and update the Plug-ins menu, etc.

unload_plugin

Given a plug-in name such as Foo (the part after Padre::Plugin), disable the plug-in, unload the corresponding module, and update the Plug-ins menu, etc.

reload_plugin

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

plugin_db

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

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

reload_current_plugin

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

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

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 plug-ins that have one for plug-in specific manipulation of the context menu.

SEE ALSO

Padre, Padre::Config

COPYRIGHT

Copyright 2008-2011 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.