:mod:`dip.shell.plugins`
========================
.. module:: dip.shell.plugins

The :mod:`dip.shell.plugins` module contains the definitions of all plugins
implemented by the :mod:`dip.shell` module.


:class:`DirtyToolPlugin`
------------------------
.. class:: DirtyToolPlugin

    Base class: :class:`~dip.model.Model`

    The DirtyToolPlugin class is the plugin definition for the dirty tool.
        

    .. attribute:: id = 'dip.shell.tools.dirty'

        The identifier of the plugin.

    .. attribute:: name = 'Dirty tool plugin'

        The name of the plugin.

    .. method:: DirtyToolPlugin.configure(plugin_manager)

        This is called when the plugin is enabled to ask that it configures
        itself.
        
        :param plugin_manager:
            the plugin manager.


:class:`MainWindowShellPlugin`
------------------------------
.. class:: MainWindowShellPlugin

    Base class: :class:`~dip.model.Model`

    The MainWindowShellPlugin class is the plugin definition for the main
    window based shell.

    .. attribute:: id = 'dip.shell.shells.mainwindow'

        The identifier of the plugin.

    .. attribute:: name = 'Main window shell plugin'

        The name of the plugin.

    .. method:: MainWindowShellPlugin.configure(plugin_manager)

        This is called when the plugin is enabled to ask that it configures
        itself.
        
        :param plugin_manager:
            the plugin manager.


:class:`ModelManagerToolPlugin`
-------------------------------
.. class:: ModelManagerToolPlugin

    Base class: :class:`~dip.model.Model`

    The ModelManagerToolPlugin class is the plugin definition for the
    default model manager tool.

    .. attribute:: id = 'dip.shell.tools.model_manager'

        The identifier of the plugin.

    .. attribute:: name = 'Model manager tool plugin'

        The name of the plugin.

    .. method:: ModelManagerToolPlugin.configure(plugin_manager)

        This is called when the plugin is enabled to ask that it configures
        itself.
        
        :param plugin_manager:
            the plugin manager.


:class:`QuitToolPlugin`
-----------------------
.. class:: QuitToolPlugin

    Base class: :class:`~dip.model.Model`

    The QuitToolPlugin class is the plugin definition for the quit tool.
        

    .. attribute:: id = 'dip.shell.tools.quit'

        The identifier of the plugin.

    .. attribute:: name = 'Quit tool plugin'

        The name of the plugin.

    .. method:: QuitToolPlugin.configure(plugin_manager)

        This is called when the plugin is enabled to ask that it configures
        itself.
        
        :param plugin_manager:
            the plugin manager.


:class:`WhatsThisToolPlugin`
----------------------------
.. class:: WhatsThisToolPlugin

    Base class: :class:`~dip.model.Model`

    The WhatsThisToolPlugin class is the plugin definition for the "What's
    This?" tool.

    .. attribute:: id = 'dip.shell.tools.whats_this'

        The identifier of the plugin.

    .. attribute:: name = 'What's This? tool plugin'

        The name of the plugin.

    .. method:: WhatsThisToolPlugin.configure(plugin_manager)

        This is called when the plugin is enabled to ask that it configures
        itself.
        
        :param plugin_manager:
            the plugin manager.
