Padre::PluginManager(3) 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.

current

Gets a Padre::Current context for the plugin manager.

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 list of all plugins 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.

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.

COPYRIGHT

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