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
COPYRIGHT
Copyright 2008-2010 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.