/** * Copyright (c) 2014 - 2017 Frank Appel * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Frank Appel - initial API and implementation */ package com.codeaffine.eclipse.swt.widget.scrollable; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Layout; import org.eclipse.swt.widgets.Scrollable; import com.codeaffine.eclipse.swt.widget.scrollable.context.AdaptionContext; import com.codeaffine.eclipse.swt.widget.scrollbar.FlatScrollBar; class ScrollableLayoutFactorySpy extends ScrollableLayoutFactory<Scrollable> implements SelectionListener, DisposeListener { private SelectionEvent selectionEvent; private DisposeEvent disposeEvent; private FlatScrollBar horizontal; private FlatScrollBar vertical; private FillLayout layout; @Override public Layout create( AdaptionContext<Scrollable> context, FlatScrollBar horizontal, FlatScrollBar vertical ) { this.horizontal = horizontal; this.vertical = vertical; this.layout = new FillLayout(); return layout; } @Override public SelectionListener createHorizontalSelectionListener( AdaptionContext<Scrollable> context ) { return this; } @Override public SelectionListener createVerticalSelectionListener( AdaptionContext<Scrollable> context ) { return this; } @Override public DisposeListener createWatchDog( AdaptionContext<Scrollable> context, FlatScrollBar horizontal, FlatScrollBar vertical ) { return this; } @Override public void widgetSelected( SelectionEvent selectionEvent ) { this.selectionEvent = selectionEvent; } @Override public void widgetDefaultSelected( SelectionEvent selectionEvent ) { } @Override public void widgetDisposed( DisposeEvent disposeEvent ) { this.disposeEvent = disposeEvent; } FlatScrollBar getHorizontal() { return horizontal; } FlatScrollBar getVertical() { return vertical; } SelectionEvent getSelectionEvent() { return selectionEvent; } DisposeEvent getDisposeEvent() { return disposeEvent; } Layout getLayout() { return layout; } }