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

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

Introduction

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

Prototype

public void addPropertyChangeListener(IPropertyChangeListener listener);

Source Link

Document

Registers a property change listner with this manager.

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();
                    }// w w w .  java  2 s.c om
                }
            }
        };
        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);
                    }
                }
            });
        }
    }

}