/**
*
*/
package com.yoursway.swt.animations.flip;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Composite;
/**
* Listens to a Flipper and modifies the top control of a StackLayout when a
* flip occurs.
*/
public class StackLayoutFlipperListener implements FlipperListener {
private final Flipper flipper;
private final StackLayout layout;
private final Composite composite;
/**
* @param flipper
* the flipper to listen to
* @param composite
* the composite that has a <code>StackLayout</code>
*/
public StackLayoutFlipperListener(Flipper flipper, Composite composite) {
if (flipper == null)
throw new NullPointerException("flipper is null");
if (composite == null)
throw new NullPointerException("composite is null");
this.flipper = flipper;
this.composite = composite;
this.layout = (StackLayout) composite.getLayout();
flipper.addListener(this);
layout.topControl = flipper.getTopControl();
}
public void flipped() {
layout.topControl = flipper.getTopControl();
composite.layout();
}
public void flipperDisposed() {
}
}