Node:ecb-tree-buffer, Next:, Previous:ecb-general, Up:Customizable options



Group ecb-tree-buffer

This group contains general settings related to the tree-buffers of ECB:

common-tree-buffer-after-create-hook User Option
Local hook running at the end of each tree-buffer creation. Every function of this hook is called once without arguments direct after creating a tree-buffer of ECB and it's local key-map. So for example a function could be added which performs calls of local-set-key to define new keybindings for EVERY tree-buffer.

The following keys must not be rebind in all tree-buffers:

  • RET and all combinations with Shift and Ctrl
  • TAB
  • C-t

primary-secondary-mouse-buttons User Option
Primary- and secondary mouse button for using the ECB-buffers. A click with the primary button causes the main effect in each ECB-buffer:
  • ECB Directories: Expanding/collapsing nodes and displaying files in the ECB Sources buffer.
  • ECB sources/history: Opening the file in that edit-window specified by the option ecb-mouse-click-destination.
  • ECB Methods: Jumping to the method in that edit-window specified by the option ecb-mouse-click-destination.

A click with the primary mouse-button while the SHIFT-key is pressed called the POWER-click and does the following (depending on the ECB-buffer where the POWER-click occurs):

  • ECB Directories: Refreshing the directory-contents-cache (see ecb-cache-directory-contents).
  • ECB sources/history: Only displaying the source-contents in the method-buffer but not displaying the source-file in the edit-window.
  • ECB Methods: Narrowing to the clicked method/variable/ect... (see ecb-tag-visit-post-actions). This works only for semantic supported sources but not for imenu- or etags-supported ones!

In addition always the whole node-name is displayed in the minibuffer after a POWER-click \(for this see also `ecb-show-node-info-in-minibuffer').

The secondary mouse-button is for opening (jumping to) the file in another edit-window (see the documentation ecb-mouse-click-destination).

The following combinations are possible:

  • primary: mouse-2, secondary: C-mouse-2 (means mouse-2 while CTRL-key is pressed). This is the default setting.
  • primary: mouse-1, secondary: C-mouse-1
  • primary: mouse-1, secondary: mouse-2

Please note: If the tree-buffers are used with the keyboard instead with the mouse then RET is interpreted as primary mouse-button and C-RET as secondary mouse-button!

If you change this during ECB is activated you must deactivate and activate ECB again to take effect

show-node-info-in-minibuffer User Option
Node info to display in a tree-buffer. Define which node info should displayed in a tree-buffer after mouse moving over the node or after a shift click onto the node.

For every tree-buffer you can define "when" node info should be displayed:

  • always: Node info is displayed by moving with the mouse over a node.
  • if-too-long: Node info is only displayed by moving with the mouse over a node does not fit into the window-width of the tree-buffer window. In the ECB directories buffer this means also if a node is shortened or if the node has an alias (see ecb-source-path).
  • shift-click: Node info is only displayed after a shift click with the primary mouse button onto the node.
  • never: Node info is never displayed.

For every tree-buffer you can define what info should be displayed:

  • Directory-buffer:
    • name: Only the full node-name is displayed.
    • path: The full-path of the node is displayed.
  • Sources-buffer:
    • name: Only the full node-name is displayed.
    • file-info: File infos for this file are displayed.
    • file-info-full: Fill infos incl. full path for this file are displayed.
  • History-buffer: see Directories-buffer.
  • Methods-buffer:
    • name: Only the full node name is displayed.
    • name+type: The full name + the type of the node (function, class, variable) is displayed.

Do NOT set this option directly via setq but use always customize!

tree-RET-selects-edit-window User Option
In which tree-buffers RET should finally select an edit-window. If a name of an ECB tree-buffer is contained in this list then hitting RET in this tree-buffer selects as last action the right edit-window otherwise only the right action is performed (opening a new source, selecting a method etc.) but point stays in the tree-buffer.

A special remark for the ecb-directories-buffer-name: Of course here the edit-window is only selected if ecb-show-sources-in-directories-buffer is not nil (otherwise this would not make any sense)!

The setting in this option is only the default for each tree-buffer. With ecb-toggle-RET-selects-edit-window the behavior of RET can be changed fast and easy in a tree-buffer without customizing this option, but of course not for future Emacs sessions!

tree-buffer-style User Option
The style of the tree-buffers. There are three different styles available:

Image-style (value image): Very nice and modern - just try it. For this style the options ecb-tree-indent and ecb-tree-expand-symbol-before have no effect! Note: GNU Emacs <= 21.3.X for Windows does not support image-display so ECB uses always 'ascii-guides even when here 'image is set!

Ascii-style with guide-lines (value ascii-guides):

[-] ECB
 |  [+] code-save
 `- [-] ecb-images
     |  [-] directories
     |   |  [-] height-15
     |   |   |  * close.xpm
     |   |   |  * empty.xpm
     |   |   |  * leaf.xpm
     |   |   `- * open.xpm
     |   |  [+] height-17
     |   |  [+] height-19
     |   `- [+] height-21
     |  [x] history
     |  [x] methods
     `- [x] sources

Ascii-style without guide-lines (value ascii-no-guides) - this is the style used by ECB <= 1.96:

[-] ECB
    [+] code-save
    [-] ecb-images
        [-] directories
            [-] height-15
                * close.xpm
                * empty.xpm
                * leaf.xpm
                * open.xpm
            [+] height-17
            [+] height-19
            [+] height-21
        [x] history
        [x] methods
        [x] sources

With both ascii-styles the tree-layout can be affected with the options ecb-tree-indent and ecb-tree-expand-symbol-before.

tree-easy-hor-scroll User Option
Scroll step for easy hor. scrolling via mouse-click in tree-buffers. XEmacs has horizontal scroll-bars so invisible parts beyond the right window-border of a tree-buffer can always made visible very easy.

GNU Emacs does not have hor. scroll-bars so especially with the mouse it is quite impossible to scroll smoothly right and left. The functions scroll-left and scroll-right can be annoying and are also not bound to mouse-buttons.

If this option is a positive integer S then in all ECB-tree-buffers the keys M-mouse-1 and M-mouse-3 are bound to scrolling left rsp. right with scroll-step S - clicking with mouse-1 or mouse-2 onto the edge of the modeline has the same effect, i.e. if you click with mouse-1 onto the left (rsp right) edge of the modeline you will scroll left (rsp. right).

Additionally C-M-mouse-1 and C-M-mouse-3 are bound to scrolling left rsp. right with scroll-step window-width - 2.

Default is a scroll-step of 5. If the value is nil then no keys for horizontal scrolling are bound.

tree-expand-symbol-before User Option
Show the expand symbol before the items in a tree. When the expand-symbol is located before the items then the tree looks like:
[-] ECB
    [+] code-save
    [-] ecb-images
        [-] directories

When located after then the tree looks like:

ECB [-]
  code-save [+]
  ecb-images [-]
    directories [-]

The after-example above use a value of 2 for ecb-tree-indent whereas the before-example uses a value of 4.

It is recommended to display the expand-symbol before because otherwise it could be that with a deep nested item-structure with and/or with long item-names (e.g. a deep directory-structure with some long subdirectory-names) the expand-symbol is not visible in the tree-buffer and the tree-buffer has to be horizontal scrolled to expand an item.

tree-image-icons-directories User Option
Directories where the images for the tree-buffer can be found. This is a five-element list where:

  1. element: Default directory where the default images for the tree-buffer can be found. It should contain an image for every name of tree-buffer-tree-image-names. The name of an image-file must be: "ecb-<NAME of TREE-BUFFER-TREE-IMAGE-NAMES>.<ALLOWED EXTENSIONS>".
  2. element: Directory for special images for the Directories-buffer.
  3. element: Directory for special images for the Sources-buffer.
  4. element: Directory for special images for the Methods-buffer.
  5. element: Directory for special images for the History-buffer.

The directories of the element 2 - 5 are additional image-directories which are searched first for images needed for the respective tree-buffer. If the image can not be found in this directory then the default-directory (1. element) is searched. If the image can't even found there the related ascii-symbol is used.

All but the first element (the default directory) can be nil.

ECB comes with images in four diffenent heights - so for the most senseful font-heights of a tree-buffer a fitting image-size should be available. The images reside either in the subdirectory "ecb-images" of the ECB-installation or - if ECB is installed as regular XEmacs-package - in the ECB-etc data-directory.

tree-incremental-search User Option
Enable incremental search in the ECB-tree-buffers. For a detailed explanation see the online help section "Working with the keyboard in the ECB buffers". If you change this during ECB is activated you must deactivate and activate ECB again to take effect.

tree-indent User Option
Indent size for tree buffer. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.

tree-navigation-by-arrow User Option
Enable smart navigation in the tree-windows by horiz. arrow-keys. If not nil then the left- and right-arrow keys work in the ECB tree-window in the following smart way if onto an expandable node:
  • Left-arrow: If node is expanded then it will be collapsed otherwise point jumps to the next "higher" node in the hierarchical tree (higher means the next higher tree-level or - if no higher level available - the next higher node on the same level).
  • Right-arrow: If node is not expanded then it will be expanded. Onto a not expandable node the horizontal arrow-keys go one character in the senseful correct direction.

If this option is changed the new value takes first effect after deactivating ECB and then activating it again!

truncate-lines User Option
Truncate lines in ECB buffers. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.

truncate-long-names User Option
Truncate long names that don't fit in the width of the ECB windows. If you change this during ECB is activated you must deactivate and activate ECB again to take effect.