12.6 eieio-speedbar

This class is in package eieio-speedbar.

If a series of class instances map to a tree structure, it is possible
to cause your classes to be displayable in Speedbar. See Top.
Inheriting from these classes will enable a speedbar major display mode
with a minimum of effort.

— Class: eieio-speedbar buttontype buttonface

Enables base speedbar display for a class.
The slot buttontype is any of the symbols allowed by the
function speedbar-make-tag-line for the exp-button-type
argument See Extending.
The slot buttonface is the face to use for the text of the string
displayed in speedbar.
The slots buttontype and buttonface are class allocated
slots, and do not take up space in your instances.

— Class: eieio-speedbar-directory-button buttontype buttonface

This class inherits from eieio-speedbar and initializes
buttontype and buttonface to appear as directory level lines.

— Class: eieio-speedbar-file-button buttontype buttonface

This class inherits from eieio-speedbar and initializes
buttontype and buttonface to appear as file level lines.

To use these classes, inherit from one of them in you class. You can
use multiple inheritance with them safely. To customize your class for
speedbar display, override the default values for buttontype and
buttonface to get the desired effects.

Useful methods to define for your new class include:

— Method on eieio-speedbar: eieio-speedbar-derive-line-path obj depth

Return a string representing a directory associated with an instance
of obj. depth can be used to index how many levels of
indentation have been opened by the user where obj is shown.

— Method on eieio-speedbar: eieio-speedbar-description obj

Return a string description of OBJ.
This is shown in the minibuffer or tooltip when the mouse hovers over
this instance in speedbar.

— Method on eieio-speedbar: eieio-speedbar-child-description obj

Return a string representing a description of a child node of obj
when that child is not an object. It is often useful to just use
item info helper functions such as speedbar-item-info-file-helper.

This method inserts a list of speedbar tag lines for obj to
represent its children. Implement this method for your class
if your children are not objects themselves. You still need to
implement eieio-speedbar-object-children.

In this method, use techniques specified in the Speedbar manual.
See Extending.

Some other functions you will need to learn to use are:

— eieio-speedbar-create: make-map key-map menu name toplevelfn

Register your object display mode with speedbar.
make-map is a function which initialized you keymap.
key-map is a symbol you keymap is installed into.
menu is an easy menu vector representing menu items specific to your
object display.
name is a short string to use as a name identifying you mode.
toplevelfn is a function called which must return a list of
objects representing those in the instance system you wish to browse in
speedbar.

Read the Extending chapter in the speedbar manual for more information
on how speedbar modes work
See Extending.