tmf: Add collapsible event table header bar with applied filter labels
authorPatrick Tasse <patrick.tasse@gmail.com>
Mon, 7 Mar 2016 22:12:18 +0000 (17:12 -0500)
committerPatrick Tasse <patrick.tasse@gmail.com>
Fri, 18 Mar 2016 03:00:21 +0000 (23:00 -0400)
commit0a08e17dc6c08b51fa06e296a8980ed983b94c86
tree688e1817d702d11d431851f14c9117668ba1bac1
parent51004941ab54e6a586ef09020f2622951f56115d
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>
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/internal/tmf/core/filter/TmfCollapseFilter.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/filter/model/TmfFilterObjectNode.java [new file with mode: 0644]
tmf/org.eclipse.tracecompass.tmf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ui/swtbot/tests/viewers/events/FilterColorEditorTest.java
tmf/org.eclipse.tracecompass.tmf.ui/icons/elcl16/filter_add.gif [new file with mode: 0644]
tmf/org.eclipse.tracecompass.tmf.ui/icons/ovr16/delete_ovr.gif [new file with mode: 0644]
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/Messages.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/messages.properties
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/events/TmfEventsCache.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/events/TmfEventsTable.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/events/TmfEventsTableHeader.java [new file with mode: 0644]
This page took 0.028478 seconds and 5 git commands to generate.