tmf: Add collapsible event table header bar with applied filter labels
- The manual toggling of the event table header mode (search/filter) is
removed.
- When a search filter is applied, the header row icon is changed to a
"Add as Filter" icon. Tool tip support is added for this icon. Clicking
the icon will apply the search as a filter, and clear the search filter.
- Ctrl+Enter shortcut can be used to trigger the 'Add as Filter' action.
It can also be used instead of Enter while in a header cell 'search'
text editor to apply the regex immediately as a filter instead of as a
search filter.
- The 'Show Filter Bar' and 'Show Search Bar' actions in the header row
context menu are removed, and are replaced with the 'Add as Filter'
action when there is a search filter applied.
- If search filters are currently applied on multiple columns, they will
each be applied as separate filters.
- The 'Apply Preset Filter...' and 'Collapse Events' actions now add a
filter to the currently applied filters instead of replacing them.
- Implement TmfFilterObjectNode so that any external filter object can
be included in the filter tree model.
- The collapse filter is handled separately from other filters. It must
be invoked only on events which first match every other applied filter.
This allows for filtered events to be collapsed even if they are not
contiguous as unfiltered events.
- Implement TmfCollapseFilter.toString().
- Implement TmfEventsTableHeader. This is a header bar composite
displayed above the event table when any filter is applied.
- The header bar has one label for every filter that is currently
applied. The label name describes the filter. If the filter was created
from the table search/filter row, then clicking the label will set the
table highlighting to this label's regex (if no search filter is
currently applied).
- Clicking the 'remove' icon on any label will remove this particular
filter. If no filter remains, the header bar will be hidden.
- Pressing the Delete key will clear all filter highlighting (if no
search filter is currently applied).
- When the header bar is visible, clicking its background or collapse
icon will toggle its collapsed/expanded state to save space. Each filter
label name will be set as a tool tip for the smaller label.
- A NullPointerException is fixed when cancelling a search before its
event request has been created.
Change-Id: I40cc3e3389f1ce43145e2a6025ed1c2a99d029e8 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/67928 Reviewed-by: Hudson CI Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>