eieio: eieio-speedbar
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.
(speedbar)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 (speedbar)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’.
-- Method on eieio-speedbar: eieio-speedbar-object-buttonname obj
Return a string which is the text displayed in speedbar for OBJ.
-- Method on eieio-speedbar: eieio-speedbar-object-children obj
Return a list of children of OBJ.
-- Method on eieio-speedbar: eieio-speedbar-child-make-tag-lines obj
depth
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.
(speedbar)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 (speedbar)Extending.