blob: bd89ab29252a838e0e09700ef7e37edc5d071419 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 IBM Corporation and others.
* 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:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.eef.common.ui.api;
import java.util.function.Consumer;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
/**
* Utility methods for SWT.
*
* @author sbegaudeau
*/
public final class SWTUtils {
/**
* The constructor.
*/
private SWTUtils() {
// Prevent instantiation
}
/**
* Static helper method to create a selection listener for the {@link #widgetSelected(SelectionEvent event)}) method
* with a lambda expression.
*
* @param consumer
* the consumer of the event
* @return SelectionListener
*/
public static SelectionListener widgetSelectedAdapter(Consumer<SelectionEvent> consumer) {
return new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
consumer.accept(event);
}
};
}
/**
* Static helper method to create a focus listener for the {@link #focusLost(FocusEvent event)}) method with a
* lambda expression.
*
* @param consumer
* the consumer of the event
* @return FocusListener
*/
public static FocusListener focusLostAdapter(Consumer<FocusEvent> consumer) {
return new FocusAdapter() {
@Override
public void focusLost(FocusEvent event) {
consumer.accept(event);
}
};
}
/**
* Static helper method to create a key listener for the {@link #keyReleased(KeyEvent event)}) method with a lambda
* expression.
*
* @param consumer
* the consumer of the event
* @return KeyListener
*/
public static KeyListener keyReleasedAdapter(Consumer<KeyEvent> consumer) {
return new KeyAdapter() {
@Override
public void keyReleased(KeyEvent event) {
consumer.accept(event);
}
};
}
}