Example usage for org.eclipse.jface.internal.provisional.action IToolBarManager2 PROP_LAYOUT

List of usage examples for org.eclipse.jface.internal.provisional.action IToolBarManager2 PROP_LAYOUT

Introduction

In this page you can find the example usage for org.eclipse.jface.internal.provisional.action IToolBarManager2 PROP_LAYOUT.

Prototype

String PROP_LAYOUT

To view the source code for org.eclipse.jface.internal.provisional.action IToolBarManager2 PROP_LAYOUT.

Click Source Link

Document

The property id for changes to the control's layout

Usage

From source file:org.eclipse.rap.ui.interactiondesign.ConfigurableStack.java

License:Open Source License

private void addPropertyChangeListenerToToolBar(final IToolBarManager manager) {
    if (manager instanceof IToolBarManager2 && !hasListener(manager)) {
        final IToolBarManager2 manager2 = (IToolBarManager2) manager;
        final IPropertyChangeListener listener = new IPropertyChangeListener() {
            public void propertyChange(final PropertyChangeEvent event) {
                if (event.getProperty().equals(IToolBarManager2.PROP_LAYOUT)) {
                    if (configAction != null) {
                        configAction.fireToolBarChange();
                    }//from   www  .ja va 2s.  c o m
                }
            }
        };
        manager2.addPropertyChangeListener(listener);
        final Control toolBar = manager2.getControl2();
        if (toolBar != null) {
            // Remove all listeners from the manager and the manager from the list
            // to prevent memory leaks
            toolBar.addDisposeListener(new DisposeListener() {
                public void widgetDisposed(final DisposeEvent event) {
                    toolBar.removeDisposeListener(this);
                    manager2.removePropertyChangeListener(listener);
                    if (managersWhoHasListeners != null) {
                        managersWhoHasListeners.remove(manager);
                    }
                }
            });
        }
    }

}