Search in sources :

Example 1 with TraceEvent

use of com.efficios.jabberwocky.trace.event.TraceEvent in project lttng-scope by lttng.

the class NavigationModeFollowEvents method navigate.

private static void navigate(TimeGraphWidget viewer, boolean forward) {
    StateRectangle state = viewer.getSelectedState();
    TraceProject<?, ?> project = viewer.getControl().getViewContext().getTraceProject();
    if (state == null || project == null) {
        return;
    }
    Predicate<TraceEvent> predicate = state.getStateInterval().getTreeElement().getEventMatching();
    if (predicate == null) {
        /* The tree element does not support navigating by events. */
        return;
    }
// TODO Reimplement outside of TMF
// String jobName = (forward ? Messages.sfNextEventJobName : Messages.sfPreviousEventJobName);
// 
// Job job = new Job(jobName) {
// @Override
// protected IStatus run(@Nullable IProgressMonitor monitor) {
// long currentTime = TmfTraceManager.getInstance().getCurrentTraceContext().getSelectionRange().getStartTime().toNanos();
// ITmfContext ctx = trace.seekEvent(TmfTimestamp.fromNanos(currentTime));
// long rank = ctx.getRank();
// ctx.dispose();
// 
// ITmfEvent event = (forward ?
// TmfTraceUtils.getNextEventMatching(trace, rank, predicate, monitor) :
// TmfTraceUtils.getPreviousEventMatching(trace, rank, predicate, monitor));
// if (event != null) {
// NavUtils.selectNewTimestamp(viewer, event.getTimestamp().toNanos());
// }
// return Status.OK_STATUS;
// }
// };
// 
// /*
// * Make subsequent jobs not run concurrently, but wait after one
// * another.
// */
// job.setRule(fSearchActionMutexRule);
// job.schedule();
}
Also used : StateRectangle(org.lttng.scope.views.timeline.widgets.timegraph.StateRectangle) TraceEvent(com.efficios.jabberwocky.trace.event.TraceEvent)

Aggregations

TraceEvent (com.efficios.jabberwocky.trace.event.TraceEvent)1 StateRectangle (org.lttng.scope.views.timeline.widgets.timegraph.StateRectangle)1