Search in sources :

Example 11 with SWTBotTimeGraph

use of org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph in project tracecompass by tracecompass.

the class TmfAlignTimeAxisTest method setAlignmentPosition.

private static void setAlignmentPosition(AbstractSWTBot<?> control, int position) {
    if (control instanceof SWTBotSash) {
        SWTBotSash sash = (SWTBotSash) control;
        Rectangle bounds = sash.getBounds();
        Point dst = new Point(position, bounds.y + bounds.height / 2);
        sash.drag(dst);
    } else if (control instanceof SWTBotTimeGraph) {
        ((SWTBotTimeGraph) control).setNameSpace(position);
    }
    // the TmfAlignmentSynchronizer queues the alignment
    SWTBotUtils.waitUntil(synchronizer -> !synchronizer.isBusy(), TmfAlignmentSynchronizer.getInstance(), "Alignment synchronizer is busy");
}
Also used : SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) Rectangle(org.eclipse.swt.graphics.Rectangle) SWTBotSash(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotSash) Point(org.eclipse.swt.graphics.Point)

Example 12 with SWTBotTimeGraph

use of org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph in project tracecompass by tracecompass.

the class TimeGraphViewTest method testVerticalZoom.

/**
 * Test vertical zoom in and out
 */
@Test
public void testVerticalZoom() {
    resetTimeRange();
    int threshold = 10;
    SWTBotTimeGraph timegraph = fTimeGraph;
    Rectangle bounds = fBounds;
    ImageHelper ref = ImageHelper.grabImage(bounds);
    fireKeyAndWait(timegraph, bounds, false, '+', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '-', SWT.CTRL);
    ImageHelper bigSmall = ImageHelper.grabImage(bounds);
    ImageHelper diff = ref.diff(bigSmall);
    // 3% of the image
    threshold = (int) (diff.getHistogram().size() * 0.03);
    List<RGB> colors = filter(diff.getHistogram(), threshold);
    assertEquals(colors.toString(), 1, colors.size());
    fireKeyAndWait(timegraph, bounds, false, '+', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '+', SWT.CTRL);
    ImageHelper bigBig = ImageHelper.grabImage(bounds);
    diff = ref.diff(bigBig);
    colors = filter(diff.getHistogram(), threshold);
    assertNotEquals(colors.toString(), 1, colors.size());
    fireKeyAndWait(timegraph, bounds, false, '+', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '-', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '0', SWT.CTRL);
    ImageHelper bigSmallReset = ImageHelper.grabImage(bounds);
    diff = ref.diff(bigSmallReset);
    colors = filter(diff.getHistogram(), threshold);
    assertEquals(colors.toString(), 1, colors.size());
    fireKeyAndWait(timegraph, bounds, false, '-', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '-', SWT.CTRL);
    ImageHelper smallSmall = ImageHelper.grabImage(bounds);
    diff = ref.diff(smallSmall);
    colors = filter(diff.getHistogram(), threshold);
    assertNotEquals(colors.toString(), 1, colors.size());
    fireKeyAndWait(timegraph, bounds, false, '-', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '+', SWT.CTRL);
    fireKeyAndWait(timegraph, bounds, false, '0', SWT.CTRL);
    ImageHelper smallBigReset = ImageHelper.grabImage(bounds);
    diff = ref.diff(smallBigReset);
    colors = filter(diff.getHistogram(), threshold);
    assertEquals(colors.toString(), 1, colors.size());
}
Also used : SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) Rectangle(org.eclipse.swt.graphics.Rectangle) RGB(org.eclipse.swt.graphics.RGB) Point(org.eclipse.swt.graphics.Point) ImageHelper(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ImageHelper) Test(org.junit.Test)

Example 13 with SWTBotTimeGraph

use of org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph in project tracecompass by tracecompass.

the class TimeGraphViewTest method testZoomToSelection.

/**
 * Test zoom to selection
 */
@Test
public void testZoomToSelection() {
    resetTimeRange();
    SWTBotTimeGraph timegraph = fTimeGraph;
    TimeGraphViewStub view = getView();
    timegraph.setFocus();
    assertEquals(80, getDuration(view.getWindowRange()));
    /* set selection to trace start time */
    ITmfTimestamp selStartTime = TmfTimestamp.fromNanos(30L);
    ITmfTimestamp selEndTime = TmfTimestamp.fromNanos(80L);
    TmfSignalManager.dispatchSignal(new TmfSelectionRangeUpdatedSignal(this, selStartTime, selEndTime));
    timeGraphIsReadyCondition(new TmfTimeRange(selStartTime, selEndTime));
    fireKeyInGraph(timegraph, 'z');
    fViewBot.bot().waitUntil(new WindowRangeCondition(view, 50));
}
Also used : TmfSelectionRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal) SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) ITmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp) TmfTimeRange(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange) Test(org.junit.Test)

Example 14 with SWTBotTimeGraph

use of org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph in project tracecompass by tracecompass.

the class TimeGraphViewTest method testKeyboardNavigation.

/**
 * Test 'a' and 'd' navigation
 */
@Test
public void testKeyboardNavigation() {
    resetTimeRange();
    SWTBotTimeGraph timegraph = fTimeGraph;
    TimeGraphViewStub view = getView();
    timegraph.setFocus();
    assertEquals(80, getDuration(view.getWindowRange()));
    TmfTimeRange updatedWindowRange = new TmfTimeRange(TmfTimestamp.fromNanos(40), TmfTimestamp.fromNanos(120));
    // move to the right
    fireKeyInGraph(timegraph, 'd');
    fViewBot.bot().waitUntil(new TgConditionHelper(t -> updatedWindowRange.equals(view.getWindowRange())));
    // move to the left
    fireKeyInGraph(timegraph, 'a');
    fViewBot.bot().waitUntil(new TgConditionHelper(t -> INITIAL_WINDOW_RANGE.equals(view.getWindowRange())));
}
Also used : TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) UIThreadRunnable(org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable) TmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp) Conditions(org.eclipse.swtbot.swt.finder.waits.Conditions) DefaultCondition(org.eclipse.swtbot.swt.finder.waits.DefaultCondition) SWTBotText(org.eclipse.swtbot.swt.finder.widgets.SWTBotText) TmfTraceClosedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal) ConditionHelpers(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ConditionHelpers) Point(org.eclipse.swt.graphics.Point) TmfSelectionRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal) Logger(org.apache.log4j.Logger) SWTBotUtils(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotUtils) KeyEvent(org.eclipse.swt.events.KeyEvent) After(org.junit.After) IPaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.IPaletteProvider) ITmfEvent(org.eclipse.tracecompass.tmf.core.event.ITmfEvent) SequentialPaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.SequentialPaletteProvider) RGBAColor(org.eclipse.tracecompass.tmf.core.presentation.RGBAColor) TimeGraphControl(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphControl) AfterClass(org.junit.AfterClass) Predicate(java.util.function.Predicate) SimpleLayout(org.apache.log4j.SimpleLayout) SWTBotPreferences(org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences) QualitativePaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.QualitativePaletteProvider) TmfContext(org.eclipse.tracecompass.tmf.core.trace.TmfContext) Multisets(com.google.common.collect.Multisets) Display(org.eclipse.swt.widgets.Display) SWTBot(org.eclipse.swtbot.swt.finder.SWTBot) Collectors(java.util.stream.Collectors) TmfFileDialogFactory(org.eclipse.tracecompass.tmf.ui.dialog.TmfFileDialogFactory) Objects(java.util.Objects) MouseEvent(org.eclipse.swt.events.MouseEvent) ITmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp) List(java.util.List) AbstractTimeGraphView(org.eclipse.tracecompass.tmf.ui.views.timegraph.AbstractTimeGraphView) Assert.assertFalse(org.junit.Assert.assertFalse) ConsoleAppender(org.apache.log4j.ConsoleAppender) SWT(org.eclipse.swt.SWT) TmfTimeRange(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange) ITmfLocation(org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation) TmfSignalManager(org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager) TmfTraceStub(org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub) NonNull(org.eclipse.jdt.annotation.NonNull) ITimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry) KeyStroke(org.eclipse.jface.bindings.keys.KeyStroke) BeforeClass(org.junit.BeforeClass) Multiset(com.google.common.collect.Multiset) RunWith(org.junit.runner.RunWith) Rectangle(org.eclipse.swt.graphics.Rectangle) Keystrokes(org.eclipse.swtbot.swt.finder.keyboard.Keystrokes) Event(org.eclipse.swt.widgets.Event) ArrayList(java.util.ArrayList) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) Lists(com.google.common.collect.Lists) ImageHelper(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ImageHelper) ImmutableMultiset(com.google.common.collect.ImmutableMultiset) RGB(org.eclipse.swt.graphics.RGB) SWTWorkbenchBot(org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot) SWTBotView(org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView) Before(org.junit.Before) ITimeDataProvider(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.ITimeDataProvider) SWTBotShell(org.eclipse.swtbot.swt.finder.widgets.SWTBotShell) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Test(org.junit.Test) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) File(java.io.File) SWTBotButton(org.eclipse.swtbot.swt.finder.widgets.SWTBotButton) SWTBotTimeGraphEntry(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraphEntry) SWTBotJunit4ClassRunner(org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner) ListResult(org.eclipse.swtbot.swt.finder.results.ListResult) Ignore(org.junit.Ignore) Result(org.eclipse.swtbot.swt.finder.results.Result) SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) ICondition(org.eclipse.swtbot.swt.finder.waits.ICondition) TmfTraceException(org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException) TmfWindowRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal) Assert.assertEquals(org.junit.Assert.assertEquals) Control(org.eclipse.swt.widgets.Control) RGBAUtil(org.eclipse.tracecompass.tmf.ui.colors.RGBAUtil) SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) TmfTimeRange(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange) Test(org.junit.Test)

Example 15 with SWTBotTimeGraph

use of org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph in project tracecompass by tracecompass.

the class TimeGraphViewTest method before.

/**
 * Before the test is run, make the view see the items.
 *
 * Reset the perspective and close all the views.
 *
 * @throws TmfTraceException
 *             could not load a trace
 */
@Before
public void before() throws TmfTraceException {
    fBot = new SWTWorkbenchBot();
    fBot.closeAllEditors();
    for (SWTBotView viewBot : fBot.views()) {
        viewBot.close();
    }
    SWTBotUtils.openView(TimeGraphViewStub.ID);
    fViewBot = fBot.viewById(TimeGraphViewStub.ID);
    fViewBot.show();
    fTrace = new TmfTraceStub() {

        @Override
        @NonNull
        public String getName() {
            return "Stub";
        }

        @Override
        public TmfContext seekEvent(ITmfLocation location) {
            return new TmfContext();
        }

        @Override
        public ITmfTimestamp getInitialRangeOffset() {
            return TmfTimestamp.fromNanos(80);
        }
    };
    fTrace.setStartTime(TmfTimestamp.fromNanos(0));
    fTrace.setEndTime(TmfTimestamp.fromNanos(180));
    TmfTraceStub trace = fTrace;
    trace.initialize(null, "", ITmfEvent.class);
    assertNotNull(trace);
    fTimeGraph = new SWTBotTimeGraph(fViewBot.bot());
    // Wait for trace to be loaded
    fViewBot.bot().waitUntil(new TgConditionHelper(t -> fTimeGraph.getEntries().length == 0));
    fBounds = getBounds();
    UIThreadRunnable.syncExec(() -> TmfSignalManager.dispatchSignal(new TmfTraceOpenedSignal(this, trace, null)));
    // Wait for trace to be loaded
    fViewBot.bot().waitUntil(new TgConditionHelper(t -> fTimeGraph.getEntries().length >= 2));
    resetTimeRange();
    // Make sure the thumb is over 1 in size
    fBot.waitUntil(new TgConditionHelper(t -> fViewBot.bot().slider().getThumb() > 1));
}
Also used : TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) UIThreadRunnable(org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable) TmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp) Conditions(org.eclipse.swtbot.swt.finder.waits.Conditions) DefaultCondition(org.eclipse.swtbot.swt.finder.waits.DefaultCondition) SWTBotText(org.eclipse.swtbot.swt.finder.widgets.SWTBotText) TmfTraceClosedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal) ConditionHelpers(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ConditionHelpers) Point(org.eclipse.swt.graphics.Point) TmfSelectionRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal) Logger(org.apache.log4j.Logger) SWTBotUtils(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotUtils) KeyEvent(org.eclipse.swt.events.KeyEvent) After(org.junit.After) IPaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.IPaletteProvider) ITmfEvent(org.eclipse.tracecompass.tmf.core.event.ITmfEvent) SequentialPaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.SequentialPaletteProvider) RGBAColor(org.eclipse.tracecompass.tmf.core.presentation.RGBAColor) TimeGraphControl(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphControl) AfterClass(org.junit.AfterClass) Predicate(java.util.function.Predicate) SimpleLayout(org.apache.log4j.SimpleLayout) SWTBotPreferences(org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences) QualitativePaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.QualitativePaletteProvider) TmfContext(org.eclipse.tracecompass.tmf.core.trace.TmfContext) Multisets(com.google.common.collect.Multisets) Display(org.eclipse.swt.widgets.Display) SWTBot(org.eclipse.swtbot.swt.finder.SWTBot) Collectors(java.util.stream.Collectors) TmfFileDialogFactory(org.eclipse.tracecompass.tmf.ui.dialog.TmfFileDialogFactory) Objects(java.util.Objects) MouseEvent(org.eclipse.swt.events.MouseEvent) ITmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp) List(java.util.List) AbstractTimeGraphView(org.eclipse.tracecompass.tmf.ui.views.timegraph.AbstractTimeGraphView) Assert.assertFalse(org.junit.Assert.assertFalse) ConsoleAppender(org.apache.log4j.ConsoleAppender) SWT(org.eclipse.swt.SWT) TmfTimeRange(org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange) ITmfLocation(org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation) TmfSignalManager(org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager) TmfTraceStub(org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub) NonNull(org.eclipse.jdt.annotation.NonNull) ITimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry) KeyStroke(org.eclipse.jface.bindings.keys.KeyStroke) BeforeClass(org.junit.BeforeClass) Multiset(com.google.common.collect.Multiset) RunWith(org.junit.runner.RunWith) Rectangle(org.eclipse.swt.graphics.Rectangle) Keystrokes(org.eclipse.swtbot.swt.finder.keyboard.Keystrokes) Event(org.eclipse.swt.widgets.Event) ArrayList(java.util.ArrayList) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) Lists(com.google.common.collect.Lists) ImageHelper(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ImageHelper) ImmutableMultiset(com.google.common.collect.ImmutableMultiset) RGB(org.eclipse.swt.graphics.RGB) SWTWorkbenchBot(org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot) SWTBotView(org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView) Before(org.junit.Before) ITimeDataProvider(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.ITimeDataProvider) SWTBotShell(org.eclipse.swtbot.swt.finder.widgets.SWTBotShell) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Test(org.junit.Test) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) File(java.io.File) SWTBotButton(org.eclipse.swtbot.swt.finder.widgets.SWTBotButton) SWTBotTimeGraphEntry(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraphEntry) SWTBotJunit4ClassRunner(org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner) ListResult(org.eclipse.swtbot.swt.finder.results.ListResult) Ignore(org.junit.Ignore) Result(org.eclipse.swtbot.swt.finder.results.Result) SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) ICondition(org.eclipse.swtbot.swt.finder.waits.ICondition) TmfTraceException(org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException) TmfWindowRangeUpdatedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal) Assert.assertEquals(org.junit.Assert.assertEquals) Control(org.eclipse.swt.widgets.Control) RGBAUtil(org.eclipse.tracecompass.tmf.ui.colors.RGBAUtil) SWTWorkbenchBot(org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot) TmfContext(org.eclipse.tracecompass.tmf.core.trace.TmfContext) SWTBotTimeGraph(org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph) TmfTraceStub(org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub) NonNull(org.eclipse.jdt.annotation.NonNull) ITmfTimestamp(org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp) SWTBotView(org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView) TmfTraceOpenedSignal(org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal) ITmfLocation(org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation) Before(org.junit.Before)

Aggregations

SWTBotTimeGraph (org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraph)38 Test (org.junit.Test)31 TmfTimeRange (org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange)17 SWTBotTimeGraphEntry (org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotTimeGraphEntry)16 SWTBotView (org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView)13 TmfSelectionRangeUpdatedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal)13 Point (org.eclipse.swt.graphics.Point)10 TmfWindowRangeUpdatedSignal (org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal)9 Rectangle (org.eclipse.swt.graphics.Rectangle)8 SWTBotShell (org.eclipse.swtbot.swt.finder.widgets.SWTBotShell)8 SWTBot (org.eclipse.swtbot.swt.finder.SWTBot)7 ImageHelper (org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ImageHelper)6 RGB (org.eclipse.swt.graphics.RGB)5 SWTBotText (org.eclipse.swtbot.swt.finder.widgets.SWTBotText)5 ArrayList (java.util.ArrayList)4 NonNull (org.eclipse.jdt.annotation.NonNull)4 IWorkbenchPart (org.eclipse.ui.IWorkbenchPart)4 IOException (java.io.IOException)3 List (java.util.List)3 SWTWorkbenchBot (org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot)3