Example usage for com.vaadin.client.ui AbstractConnector addStateChangeHandler

List of usage examples for com.vaadin.client.ui AbstractConnector addStateChangeHandler

Introduction

In this page you can find the example usage for com.vaadin.client.ui AbstractConnector addStateChangeHandler.

Prototype

@Override
    public HandlerRegistration addStateChangeHandler(String propertyName, StateChangeHandler handler) 

Source Link

Usage

From source file:com.haulmont.cuba.web.widgets.client.addons.dragdroplayouts.ui.VDragDropUtil.java

License:Apache License

/**
 * Adds a listener for listening for changes to
 * {@link DragAndDropAwareState}'s.// w  ww. j av a2s.c o m
 * <p>
 * Preferrable add this to a layout connector's init() method.
 * 
 * @param connector
 *            The connector to attach to.
 * @param widget
 *            The layout widget returned by Connector.getWidget()
 */
public static void listenToStateChangeEvents(final AbstractConnector connector, final Widget widget) {
    connector.addStateChangeHandler("ddState", new StateChangeHandler() {
        @Override
        public void onStateChanged(StateChangeEvent stateChangeEvent) {
            DDLayoutState state = ((DragAndDropAwareState) connector.getState()).getDragAndDropState();

            if (widget instanceof VHasDragMode) {
                ((VHasDragMode) widget).setDragMode(state.dragMode);
            }

            if (widget instanceof VHasIframeShims) {
                ((VHasIframeShims) widget).iframeShimsEnabled(state.iframeShims);
            }

            if (widget instanceof VHasDragFilter) {
                ((VHasDragFilter) widget).setDragFilter(new VDragFilter(state));
            }

            if (widget instanceof VHasGrabFilter) {
                ((VHasGrabFilter) widget).setGrabFilter(new VGrabFilter(state));
            }

            if (widget instanceof VHasDragCaptionProvider) {
                if (state.dragCaptions.size() > 0) {
                    ((VHasDragCaptionProvider) widget)
                            .setDragCaptionProvider(new VDragCaptionProvider(connector));
                }
            }

            if (widget instanceof VHasDragImageReferenceSupport) {
                ((VHasDragImageReferenceSupport) widget)
                        .setDragImageProvider(new VDDLayoutStateDragImageProvider(state));
            }
        }
    });
}

From source file:fi.jasoft.dragdroplayouts.client.ui.VDragDropUtil.java

License:Apache License

/**
 * Adds a listener for listening for changes to
 * {@link DragAndDropAwareState}'s./*from w ww  . j a v a  2 s .co  m*/
 * <p>
 * Preferrable add this to a layout connector's init() method.
 * 
 * @param connector
 *            The connector to attach to.
 * @param widget
 *            The layout widget returned by Connector.getWidget()
 */
public static void listenToStateChangeEvents(final AbstractConnector connector, final Widget widget) {
    connector.addStateChangeHandler("ddState", new StateChangeHandler() {
        @Override
        public void onStateChanged(StateChangeEvent stateChangeEvent) {
            DDLayoutState state = ((DragAndDropAwareState) connector.getState()).getDragAndDropState();

            if (widget instanceof VHasDragMode) {
                ((VHasDragMode) widget).setDragMode(state.dragMode);
            }

            if (widget instanceof VHasIframeShims) {
                ((VHasIframeShims) widget).iframeShimsEnabled(state.iframeShims);
            }

            if (widget instanceof VHasDragFilter) {
                ((VHasDragFilter) widget).setDragFilter(new VDragFilter(state));
            }

            if (widget instanceof VHasDragImageReferenceSupport) {
                ((VHasDragImageReferenceSupport) widget)
                        .setDragImageProvider(new VDDLayoutStateDragImageProvider(state));
            }
        }
    });
}