9
File: ecb.info, Node: Maximizing the ECB windows, Next: Back/forward navigation, Prev: Hiding the ECB windows, Up: Usage of ECB
11
Maximizing the ECB windows
12
==========================
14
To get a better overlook about the contents of a certain ECB-window every
15
ECB-window can be "maximized", means all other ECB-windows are deleted so
16
only the edit-window(s) and this maximized ECB-window are visible (and maybe
17
a compile-window if active). There are several ways to do this:
19
* Via the popup-menus of the ECB-windows
21
* Via the main "ECB"-menu and here "Display window maximized"
23
* Via calling the adviced version of `delete-other-windows'(1) (bound to
24
`C-x 1') in one of the ECB windows.
26
* Via one of the commands `ecb-maximize-window-directories',
27
`ecb-maximize-window-sources', `ecb-maximize-window-methods',
28
`ecb-maximize-window-history' or `ecb-maximize-window-speedbar' or the
29
bound short-cuts for those commands.
31
* Via the new command `ecb-cycle-maximized-ecb-buffers' which cycles through
32
all ecb-buffers of current layout by maximizing exactly one of the
33
ecb-windows after every cycle-step.
35
* Via the option `ecb-maximize-ecb-window-after-selection' and then just by
36
selecting an ECB-window. "Deselecting" an ECB-window brings back all
37
ECB-windows of current layout.
39
* Via the default modeline-mechanisms for deleting other windows. GNU Emacs
40
binds `mouse-2' in its modeline to `delete-other-window'. ECB now supports
41
this mechanism by binding a toggle-command to `mouse-2' in the modeline of
42
each tree-buffer: If all ECB-windows are visible then this command
43
maximizes the current tree-window and if current tree-window is maximized
44
all ECB-windows are displayed again. XEmacs binds a popup-menu with some
45
window commands to `button-3' in its modeline. ECB supports this mechanism
46
by replacing this menu by a menu which offers exactly 2 commands:
47
Maximizing current tree-window and displaying all ECB-windows.
49
Minimizing such a maximized ECB-window, i.e. bringing back to its original
50
size, can simply be done by redrawing the layout via the command
51
`ecb-redraw-layout' (bound to `C-c . lr').
53
---------- Footnotes ----------
55
(1) This command is adviced per default, see *Note The edit-area::.
58
File: ecb.info, Node: Back/forward navigation, Next: ECB-window synchronizing, Prev: Maximizing the ECB windows, Up: Usage of ECB
60
Back- and forward navigation like a browser
61
===========================================
63
With ECB you can "browse" in your source-files like with a web-browser. This
64
means ECB stores the current buffer- and window-position relative to the
65
current tag(1) in the edit-window after
67
- selecting a tag in the ECB-methods buffer or
69
- selecting a source-file in the ECB-sources/history-buffer.
71
ECB offers two commands `ecb-nav-goto-next' (`C-c . n') and
72
`ecb-nav-goto-previous' (`C-c . p') to go forward and backward within this
73
navigation history-list. These commands are also available via the menu "ECB
76
Aside normal "location-browsing" this is useful for example in a scenario
77
where the buffer is narrowed to a tag (see `ecb-tag-visit-post-actions'):
79
1. You edit a function
81
2. Goto another function above the current in the same file
85
4. Call ecb-nav-goto-previous
87
Now you will edit at the same place in the function.
89
---------- Footnotes ----------
91
(1) e.g. a method, a variable or any other semantic tag
94
File: ecb.info, Node: ECB-window synchronizing, Next: Interactive ECB commands, Prev: Back/forward navigation, Up: Usage of ECB
96
Synchronization of the ECB-windows
97
==================================
99
Per default ECB synchronizes automatically the contents of the
100
ECB-windows/tree-buffers with the current active edit-window (rsp. the
101
current buffer of the edit window):
105
This windows is synchronized to display the directory where the
106
source-file which is displayed in the current active edit-window is
107
located. If the source-path (i.e. an element of the option
108
`ecb-source-path') containing this directory is not expanded it will be
109
auto. expanded according to the value of the option
110
`ecb-auto-expand-directory-tree' (*note ecb-directories::).
114
The ECB-sources-buffer contains after synchronizing all the sources of the
115
directory of the "current" source-file displayed in the edit-window. The
116
entry of the "current" source-file is highlighted.
120
Contains after synchronizing all the tags of the buffer in the current
121
selected edit-window, i.e. all methods, variables etc... depending of the
126
Highlights the entry of the buffer displayed in the current active
127
edit-window if this buffer is a source-file.
130
This feature can be customized with the option `ecb-window-sync':
132
If active then the synchronization takes place always a buffer changes in an
133
edit window or if another edit-window with another buffer will be selected,
134
if deactivated then never. But you can also set this option to a list of
135
major-modes and then the sync. will only be done if the major-mode of the
136
current buffer belongs NOT to this list.
138
But in every case the synchronization takes only place if the major-mode of
139
the current-buffer in the current selected edit-window has a relation to
140
files or directories. Examples for the former one are all
141
programming-language-modes like `c++-mode' or `java-mode', `Info-mode' too,
142
an example for the latter one is `dired-mode'. For all major-modes related to
143
non-file/directory-buffers like `help-mode', `customize-mode' and others
144
never a synchronization will be done!
146
It's recommended to exclude at least `Info-mode' because it makes no sense to
147
synchronize the ECB-windows after calling the Info help. Per default also
148
`dired-mode' is excluded but it can also making sense to synchronize the
149
ECB-directories/sources windows with the current directory of the
150
dired-buffer in the edit-window.
152
If you often need to toggle between autom. synchronization on and off then
153
customizing the option `ecb-window-sync' is inefficient and therefore ECB
154
offers the command `ecb-toggle-window-sync'.
156
*Please note*: With the command `ecb-window-sync' you can do a manually
157
synchronization if the automatic one is switched off or if you just want to
9
161
File: ecb.info, Node: Interactive ECB commands, Prev: ECB-window synchronizing, Up: Usage of ECB
11
163
Interactive ECB commands
280
436
compile-window). Does nothing if the speedbar-window is not visible within
439
- Command: methods-filter
440
Apply a filter to the Methods-buffer to reduce the number of entries. So
441
you get a better overlooking. There are six choices:
443
* Filter by protection: Just insert the protection you want the
444
Methods-buffer being filtered: private, protected or public!
446
* Filter by regexp: Insert the filter as regular expression.
448
* Filter by tag-class: You can filter by the tag-classes of current
449
major-mode. The available tag-classes come from the variable
450
`semantic--symbol->name-assoc-list'. The are normally methods,
453
* Filter by current type: In languages which have types like Java or C++
454
this filter displays only the current type and all its members (e.g.
455
attributes and methods). If ECB can not identify the current type in the
456
source-buffer or in the methods-window then nothing will be done.
458
* Filter by a filter-function: Such a function gets two arguments: a tag
459
and the source-buffer of this tag. If the tag should be displayed (i.e.
460
not being filtered out) then the function has to return not nil
463
* No special filter: This means to display all tags specified with the
464
option `ecb-show-tokens'. If currently some of the above filters are
465
applied they will be all removed.
467
* Delete the last added: This removes only the topmost filter-layer,
468
means that filter added last.
470
The protection-, current-type- and the tag-class-filter are only available
471
for semantic-supported sources.
473
Be aware that the tag-list specified by the option `ecb-show-tags' is the
474
basis of all filters, i.e. tags which are excluded by that option will
475
never be shown regardless of the filter type here!
477
All tags which match the applied filter(s) will be displayed in the
480
If called with a prefix-argument or when optional arg INVERSE is not nil
481
then an inverse filter is applied to the Methods-buffer, i.e. all tags
482
which do NOT match the choosen filter will be displayed in the
485
Per default the choosen filter will be applied on top of already existing
486
filters. This means that filters applied before are combined with the new
487
filter. This behavior can changed via the option
488
`ecb-methods-filter-replace-existing'. But regardless of the setting in
489
`ecb-methods-filter-replace-existing' applying one of the not-inverse
490
filters protection, tag-class or current-type always replaces exactly
491
already existing filters of that type. On the other hand applying more
492
than one inverse tag-class- or protection-filter can make sense.
494
Such a filter is only applied to the current source-buffer, i.e. each
495
source-buffer can have its own tag-filters.
497
The current active filter will be displayed in the modeline of the
498
Methods-buffer [regexp, prot (= protection), tag-class, function (=
499
filter-function)]. If an inverse filter has been applied then this is
500
signalized by a preceding caret ^. If currently more than 1 filter is
501
applied then always the top-most filter is displayed in the modeline but
502
the fact of more than 1 filter is visualized by the number of the filters
503
- included in parens. You can see all currently applied filters by moving
504
the mouse over the filter-string in modeline of the Methods-buffer: They
505
will displayed as help-echo.
507
See the option `ecb-default-tag-filter' if you search for automatically
508
applied default-tag-filters.
510
- Command: methods-filter-current-type
511
Display in the Methods-buffer only the current type and its members. For
512
further details see `ecb-methods-filter'.
514
- Command: methods-filter-delete-last
515
Remove the most recent filter from the Methods-buffer. For further details
516
see `ecb-methods-filter'.
518
- Command: methods-filter-function &optional inverse
519
Filter the methods-buffer by a function. If INVERSE is not nil (called
520
with a prefix arg) then an inverse filter is applied. For further details
521
see `ecb-methods-filter'.
523
- Command: methods-filter-nofilter
524
Remove any filter from the Methods-buffer. For further details see
525
`ecb-methods-filter'.
527
- Command: methods-filter-protection &optional inverse
528
Filter the methods-buffer by protection. If INVERSE is not nil (called
529
with a prefix arg) then an inverse filter is applied. For further details
530
see `ecb-methods-filter'.
532
- Command: methods-filter-regexp &optional inverse
533
Filter the methods-buffer by a regexp. If INVERSE is not nil (called with
534
a prefix arg) then an inverse filter is applied. For further details see
535
`ecb-methods-filter'.
537
- Command: methods-filter-tagclass &optional inverse
538
Filter the methods-buffer by tag-class. If INVERSE is not nil (called with
539
a prefix arg) then an inverse filter is applied. For further details see
540
`ecb-methods-filter'.
283
542
- Command: minor-mode &optional arg
284
543
Toggle ECB minor mode. With prefix argument ARG, turn on if positive,
285
544
otherwise off. Return non-`nil' if the minor mode is enabled.