Provided by: padre_0.90.ds1-1_all bug

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.

   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 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.