Padre::PluginManager(3)

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.

  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.

SEE ALSO
Padre, Padre::Config

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.