/******************************************************************************* * Copyright (c) 2000, 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.swt.events; import java.util.function.*; import org.eclipse.swt.internal.*; /** * Classes which implement this interface provide methods * that deal with the expanding and collapsing of ExpandItems. * *

* After creating an instance of a class that implements * this interface it can be added to a ExpandBar * control using the addExpandListener method and * removed using the removeExpandListener method. * When a item of the ExpandBar is expanded or * collapsed, the appropriate method will be invoked. *

* * @see ExpandAdapter * @see ExpandEvent * * @since 3.2 */ public interface ExpandListener extends SWTEventListener { /** * Sent when an item is collapsed. * * @param e an event containing information about the operation */ void itemCollapsed(ExpandEvent e); /** * Sent when an item is expanded. * * @param e an event containing information about the operation */ void itemExpanded(ExpandEvent e); /** * Static helper method to create a ExpandListener for the * {@link #itemCollapsed(ExpandEvent e)}) method, given a lambda expression or a method reference. * * @param c the consumer of the event * @return ExpandListener * @since 3.107 */ static ExpandListener itemCollapsedAdapter(Consumer c) { return new ExpandAdapter() { @Override public void itemCollapsed(ExpandEvent e) { c.accept(e); } }; } /** * Static helper method to create a ExpandListener for the * {@link #itemExpanded(ExpandEvent e)}) method, given a lambda expression or a method reference. * * @param c the consumer of the event * @return ExpandListener * @since 3.107 */ static ExpandListener itemExpandedAdapter(Consumer c) { return new ExpandAdapter() { @Override public void itemExpanded(ExpandEvent e) { c.accept(e); } }; } }