Search in sources :

Example 1 with TmfTraceSelectedSignal

use of org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal in project tracecompass by tracecompass.

the class UstKernelSyncTest method setup.

/**
 * Test setup
 */
@Before
public void setup() {
    ITmfTrace ustTrace = CtfTmfTestTraceUtils.getTrace(UST_TRACE);
    ITmfTrace kernelTrace = LttngKernelTestTraceUtils.getTrace(KERNEL_TRACE);
    TmfExperiment experiment = new TmfExperiment(CtfTmfEvent.class, "test-exp", new ITmfTrace[] { ustTrace, kernelTrace }, TmfExperiment.DEFAULT_INDEX_PAGE_SIZE, null);
    /* Simulate experiment being opened */
    TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, experiment, null));
    TmfSignalManager.dispatchSignal(new TmfTraceSelectedSignal(this, experiment));
    KernelAnalysisModule module = TmfTraceUtils.getAnalysisModuleOfClass(experiment, KernelAnalysisModule.class, KernelAnalysisModule.ID);
    assertNotNull(module);
    module.waitForCompletion();
    fExperiment = experiment;
    fUstTrace = ustTrace;
    fKernelModule = module;
}
Also used : ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) TmfExperiment(org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal) TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) KernelAnalysisModule(org.eclipse.tracecompass.analysis.os.linux.core.kernel.KernelAnalysisModule) Before(org.junit.Before)

Example 2 with TmfTraceSelectedSignal

use of org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal in project tracecompass by tracecompass.

the class TmfUml2SDSyncLoader method setViewer.

@Override
public void setViewer(SDView viewer) {
    fLock.lock();
    try {
        fView = viewer;
        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
        fView.setSDFindProvider(this);
        fView.setSDPagingProvider(this);
        fView.setSDFilterProvider(this);
        resetLoader();
        IEditorPart editor = fView.getSite().getPage().getActiveEditor();
        if (editor instanceof ITmfTraceEditor) {
            ITmfTrace trace = ((ITmfTraceEditor) editor).getTrace();
            if (trace != null) {
                traceSelected(new TmfTraceSelectedSignal(this, trace));
            }
        }
    } finally {
        fLock.unlock();
    }
}
Also used : ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal) IEditorPart(org.eclipse.ui.IEditorPart) ITmfTraceEditor(org.eclipse.tracecompass.tmf.ui.editors.ITmfTraceEditor)

Example 3 with TmfTraceSelectedSignal

use of org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal in project tracecompass by tracecompass.

the class TmfStatisticsViewImpl method createPartControl.

@Override
public void createPartControl(Composite parent) {
    super.createPartControl(parent);
    fStatsViewers.setParent(parent);
    createStatisticsViewers();
    ITmfTrace trace = TmfTraceManager.getInstance().getActiveTrace();
    if (trace != null) {
        traceSelected(new TmfTraceSelectedSignal(this, trace));
    }
    getViewSite().getActionBars().getMenuManager().add(fExportAction);
}
Also used : ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal)

Example 4 with TmfTraceSelectedSignal

use of org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal in project tracecompass by tracecompass.

the class TmfEventsEditor method createAndInitializeTable.

private void createAndInitializeTable() {
    if (fTrace != null) {
        fEventsTable = createEventsTable(fParent, fTrace.getCacheSize());
        fEventsTable.registerContextMenus(getSite());
        fEventsTable.addSelectionChangedListener(this);
        fEventsTable.setTrace(fTrace, true);
        fEventsTable.refreshBookmarks(fFile);
        loadState();
        /* ensure start time is set */
        final ITmfContext context = fTrace.seekEvent(0);
        fTrace.getNext(context);
        context.dispose();
        broadcast(new TmfTraceOpenedSignal(this, fTrace, fFile));
        if (fTraceSelected) {
            broadcast(new TmfTraceSelectedSignal(this, fTrace));
        }
        /* update part name only after trace manager notified */
        setPartName(TmfTraceManager.getInstance().getTraceUniqueName(fTrace));
        /* go to marker after trace opened */
        if (fPendingGotoMarker != null) {
            fEventsTable.gotoMarker(fPendingGotoMarker);
            fPendingGotoMarker = null;
        }
    } else {
        fEventsTable = new TmfEventsTable(fParent, 0);
        fEventsTable.addSelectionChangedListener(this);
    }
    IStatusLineManager statusLineManager = getEditorSite().getActionBars().getStatusLineManager();
    fEventsTable.setStatusLineManager(statusLineManager);
}
Also used : ITmfContext(org.eclipse.tracecompass.tmf.core.trace.ITmfContext) IStatusLineManager(org.eclipse.jface.action.IStatusLineManager) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal) TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) TmfEventsTable(org.eclipse.tracecompass.tmf.ui.viewers.events.TmfEventsTable)

Example 5 with TmfTraceSelectedSignal

use of org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal in project tracecompass by tracecompass.

the class HistogramView method createPartControl.

// ------------------------------------------------------------------------
// TmfView
// ------------------------------------------------------------------------
@Override
public void createPartControl(Composite parent) {
    super.createPartControl(parent);
    // Control labels
    final String selectionStartLabel = Messages.HistogramView_selectionStartLabel;
    final String selectionEndLabel = Messages.HistogramView_selectionEndLabel;
    final String windowSpanLabel = Messages.HistogramView_windowSpanLabel;
    // --------------------------------------------------------------------
    // Set the HistogramView layout
    // --------------------------------------------------------------------
    Composite viewComposite = new Composite(getParentComposite(), SWT.FILL);
    GridLayout gridLayout = new GridLayout(1, false);
    gridLayout.verticalSpacing = 0;
    gridLayout.marginHeight = 0;
    gridLayout.marginWidth = 0;
    viewComposite.setLayout(gridLayout);
    // --------------------------------------------------------------------
    // Add a sash for time controls and time range histogram
    // --------------------------------------------------------------------
    /*
         * The ScrolledComposite preferred size can be larger than its visible
         * width. This affects the preferred width of the SashForm. Set the
         * preferred width to 1 to prevent it from affecting the preferred width
         * of the view composite.
         */
    fSashForm = new SashForm(viewComposite, SWT.NONE) {

        @Override
        public Point computeSize(int wHint, int hHint) {
            Point computedSize = super.computeSize(wHint, hHint);
            if (wHint == SWT.DEFAULT) {
                return new Point(1, computedSize.y);
            }
            return computedSize;
        }

        @Override
        public Point computeSize(int wHint, int hHint, boolean changed) {
            Point computedSize = super.computeSize(wHint, hHint, changed);
            if (wHint == SWT.DEFAULT) {
                return new Point(1, computedSize.y);
            }
            return computedSize;
        }
    };
    GridData gridData = new GridData(GridData.FILL, GridData.FILL, false, true);
    fSashForm.setLayoutData(gridData);
    // --------------------------------------------------------------------
    // Time controls
    // --------------------------------------------------------------------
    fScrollComposite = new PackedScrolledComposite(fSashForm, SWT.H_SCROLL | SWT.V_SCROLL);
    fTimeControlsComposite = new Composite(fScrollComposite, SWT.NONE);
    fScrollComposite.setContent(fTimeControlsComposite);
    gridLayout = new GridLayout(1, false);
    gridLayout.marginHeight = 0;
    gridLayout.marginWidth = 0;
    fScrollComposite.setLayout(gridLayout);
    fScrollComposite.setExpandHorizontal(true);
    fScrollComposite.setExpandVertical(true);
    gridLayout = new GridLayout(1, false);
    gridLayout.marginHeight = 0;
    gridLayout.marginWidth = 0;
    fTimeControlsComposite.setLayout(gridLayout);
    gridData = new GridData(GridData.FILL, GridData.CENTER, false, true);
    fTimeControlsComposite.setLayoutData(gridData);
    Composite innerComp = new Composite(fTimeControlsComposite, SWT.NONE);
    gridLayout = new GridLayout(2, false);
    innerComp.setLayout(gridLayout);
    gridLayout.marginHeight = 0;
    gridLayout.marginWidth = 0;
    gridLayout.horizontalSpacing = 5;
    gridLayout.verticalSpacing = 1;
    gridData = new GridData(GridData.FILL, GridData.CENTER, false, true);
    innerComp.setLayoutData(gridData);
    Composite selectionGroup = new Composite(innerComp, SWT.BORDER);
    gridLayout = new GridLayout(1, false);
    gridLayout.marginHeight = 0;
    gridLayout.marginWidth = 0;
    selectionGroup.setLayout(gridLayout);
    gridData = new GridData(GridData.BEGINNING, GridData.CENTER, false, false);
    selectionGroup.setLayoutData(gridData);
    // Selection start control
    gridData = new GridData(GridData.FILL, GridData.CENTER, false, false);
    fSelectionStartControl = new HistogramSelectionStartControl(this, selectionGroup, selectionStartLabel, 0L);
    fSelectionStartControl.setLayoutData(gridData);
    fSelectionStartControl.setValue(Long.MIN_VALUE);
    // Selection end control
    gridData = new GridData(GridData.FILL, GridData.CENTER, false, false);
    fSelectionEndControl = new HistogramSelectionEndControl(this, selectionGroup, selectionEndLabel, 0L);
    fSelectionEndControl.setLayoutData(gridData);
    fSelectionEndControl.setValue(Long.MIN_VALUE);
    // Link button
    gridData = new GridData(GridData.BEGINNING, GridData.CENTER, false, false);
    fLinkButton = new Label(innerComp, SWT.NONE);
    fLinkButton.setImage(LINK_IMG);
    fLinkButton.setLayoutData(gridData);
    addLinkButtonListeners();
    // Window span time control
    gridData = new GridData(GridData.FILL, GridData.CENTER, false, false);
    fTimeSpanControl = new HistogramTimeRangeControl(this, innerComp, windowSpanLabel, 0L);
    fTimeSpanControl.setLayoutData(gridData);
    fTimeSpanControl.setValue(Long.MIN_VALUE);
    IStatusLineManager statusLineManager = getViewSite().getActionBars().getStatusLineManager();
    // --------------------------------------------------------------------
    // Time range histogram
    // --------------------------------------------------------------------
    fTimeRangeComposite = new Composite(fSashForm, SWT.NONE);
    gridLayout = new GridLayout(1, true);
    gridLayout.marginTop = 0;
    gridLayout.marginWidth = 0;
    fTimeRangeComposite.setLayout(gridLayout);
    // Use remaining horizontal space
    gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
    fTimeRangeComposite.setLayoutData(gridData);
    // Histogram
    fTimeRangeHistogram = new TimeRangeHistogram(this, fTimeRangeComposite, true);
    fTimeRangeHistogram.setStatusLineManager(statusLineManager);
    // --------------------------------------------------------------------
    // Full range histogram
    // --------------------------------------------------------------------
    final Composite fullRangeComposite = new Composite(viewComposite, SWT.FILL);
    gridLayout = new GridLayout(1, true);
    fullRangeComposite.setLayout(gridLayout);
    // Use remaining horizontal space
    gridData = new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1);
    fullRangeComposite.setLayoutData(gridData);
    // Histogram
    fFullTraceHistogram = new FullTraceHistogram(this, fullRangeComposite);
    fFullTraceHistogram.setStatusLineManager(statusLineManager);
    fLegendArea = new Composite(viewComposite, SWT.FILL);
    fLegendArea.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, false, 2, 1));
    fLegendArea.setLayout(new RowLayout());
    // Add mouse wheel listener to time span control
    MouseWheelListener listener = fFullTraceHistogram.getZoom();
    fTimeSpanControl.addMouseWheelListener(listener);
    // View Action Handling
    contributeToActionBars();
    ITmfTrace trace = TmfTraceManager.getInstance().getActiveTrace();
    if (trace != null) {
        traceSelected(new TmfTraceSelectedSignal(this, trace));
    }
    fSashForm.setVisible(true);
    fSashForm.setWeights(DEFAULT_WEIGHTS);
    fTimeControlsComposite.addPaintListener(new PaintListener() {

        @Override
        public void paintControl(PaintEvent e) {
            // drag listener here
            if (fSashDragListener == null) {
                for (Control control : fSashForm.getChildren()) {
                    if (control instanceof Sash) {
                        fSashDragListener = event -> TmfSignalManager.dispatchSignal(new TmfTimeViewAlignmentSignal(fSashForm, getTimeViewAlignmentInfo()));
                        control.removePaintListener(this);
                        control.addListener(SWT.Selection, fSashDragListener);
                        // There should be only one sash
                        break;
                    }
                }
            }
        }
    });
}
Also used : CLabel(org.eclipse.swt.custom.CLabel) TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) TmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp) SashForm(org.eclipse.swt.custom.SashForm) TmfTraceUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceUpdatedSignal) IAction(org.eclipse.jface.action.IAction) IStatusLineManager(org.eclipse.jface.action.IStatusLineManager) TmfTraceClosedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal) GC(org.eclipse.swt.graphics.GC) Point(org.eclipse.swt.graphics.Point) TmfSelectionRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal) PaintEvent(org.eclipse.swt.events.PaintEvent) TmfTraceContext(org.eclipse.tracecompass.tmf.core.trace.TmfTraceContext) Composite(org.eclipse.swt.widgets.Composite) TmfTraceRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceRangeUpdatedSignal) TmfTraceManager(org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal) Separator(org.eclipse.jface.action.Separator) TmfSignalHandler(org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler) ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) MouseWheelListener(org.eclipse.swt.events.MouseWheelListener) Collection(java.util.Collection) Sash(org.eclipse.swt.widgets.Sash) Display(org.eclipse.swt.widgets.Display) Objects(java.util.Objects) MouseEvent(org.eclipse.swt.events.MouseEvent) ITmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp) TmfTimeViewAlignmentInfo(org.eclipse.tracecompass.tmf.ui.signal.TmfTimeViewAlignmentInfo) SWT(org.eclipse.swt.SWT) TmfTimeRange(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange) ExecutionType(org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest.ExecutionType) TmfSignalManager(org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager) NonNull(org.eclipse.jdt.annotation.NonNull) MouseAdapter(org.eclipse.swt.events.MouseAdapter) Label(org.eclipse.swt.widgets.Label) ITmfTimeAligned(org.eclipse.tracecompass.tmf.ui.views.ITmfTimeAligned) PaintListener(org.eclipse.swt.events.PaintListener) ITmfEventRequest(org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest) Image(org.eclipse.swt.graphics.Image) Rectangle(org.eclipse.swt.graphics.Rectangle) TmfUiSignalThrottler(org.eclipse.tracecompass.tmf.ui.signal.TmfUiSignalThrottler) ITmfImageConstants(org.eclipse.tracecompass.internal.tmf.ui.ITmfImageConstants) TmfTimeViewAlignmentSignal(org.eclipse.tracecompass.tmf.ui.signal.TmfTimeViewAlignmentSignal) TmfView(org.eclipse.tracecompass.tmf.ui.views.TmfView) Listener(org.eclipse.swt.widgets.Listener) GridData(org.eclipse.swt.layout.GridData) Action(org.eclipse.jface.action.Action) IActionBars(org.eclipse.ui.IActionBars) Activator(org.eclipse.tracecompass.internal.tmf.ui.Activator) RowLayout(org.eclipse.swt.layout.RowLayout) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) TmfWindowRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal) Control(org.eclipse.swt.widgets.Control) GridLayout(org.eclipse.swt.layout.GridLayout) CLabel(org.eclipse.swt.custom.CLabel) Label(org.eclipse.swt.widgets.Label) MouseWheelListener(org.eclipse.swt.events.MouseWheelListener) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) RowLayout(org.eclipse.swt.layout.RowLayout) TmfTraceSelectedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal) PaintEvent(org.eclipse.swt.events.PaintEvent) Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) Sash(org.eclipse.swt.widgets.Sash) IStatusLineManager(org.eclipse.jface.action.IStatusLineManager) PaintListener(org.eclipse.swt.events.PaintListener) Point(org.eclipse.swt.graphics.Point) Point(org.eclipse.swt.graphics.Point) SashForm(org.eclipse.swt.custom.SashForm) ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) GridData(org.eclipse.swt.layout.GridData) TmfTimeViewAlignmentSignal(org.eclipse.tracecompass.tmf.ui.signal.TmfTimeViewAlignmentSignal)

Aggregations

TmfTraceSelectedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal)16 ITmfTrace (org.eclipse.tracecompass.tmf.core.trace.ITmfTrace)13 Action (org.eclipse.jface.action.Action)4 TmfTraceOpenedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal)4 IAction (org.eclipse.jface.action.IAction)3 IStatusLineManager (org.eclipse.jface.action.IStatusLineManager)3 SashForm (org.eclipse.swt.custom.SashForm)3 MouseAdapter (org.eclipse.swt.events.MouseAdapter)3 MouseEvent (org.eclipse.swt.events.MouseEvent)3 TmfWindowRangeUpdatedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal)3 TmfTimeRange (org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange)3 TimeGraphControl (org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphControl)3 NonNull (org.eclipse.jdt.annotation.NonNull)2 ISelection (org.eclipse.jface.viewers.ISelection)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 FocusEvent (org.eclipse.swt.events.FocusEvent)2 PaintEvent (org.eclipse.swt.events.PaintEvent)2 PaintListener (org.eclipse.swt.events.PaintListener)2 Point (org.eclipse.swt.graphics.Point)2 TmfSelectionRangeUpdatedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal)2