Example usage for com.vaadin.navigator Navigator removeViewChangeListener

List of usage examples for com.vaadin.navigator Navigator removeViewChangeListener

Introduction

In this page you can find the example usage for com.vaadin.navigator Navigator removeViewChangeListener.

Prototype

@Deprecated
public void removeViewChangeListener(ViewChangeListener listener) 

Source Link

Document

Removes a view change listener.

Usage

From source file:me.uni.emuseo.view.menu.MenuView.java

License:Open Source License

public void setNavigator(final Navigator navigator) {
    this.navigator = navigator;
    final ViewChangeListener viewChangeListener = new ViewChangeListener() {
        private static final long serialVersionUID = -4564885643037277448L;

        @Override//w  w w  . j  ava  2  s.  c  om
        public boolean beforeViewChange(final ViewChangeEvent event) {
            return true;
        }

        @Override
        public void afterViewChange(final ViewChangeEvent event) {
            for (final Iterator<Component> it = menuItemsLayout.iterator(); it.hasNext();) {
                it.next().removeStyleName("selected");
            }
            String fullViewName = event.getViewName() + '/' + event.getParameters();
            for (final Entry<String, String> item : menuItems.entrySet()) {
                if (fullViewName.equals(item.getKey())) {
                    for (final Iterator<Component> it = menuItemsLayout.iterator(); it.hasNext();) {
                        final Component c = it.next();
                        if (c.getCaption() != null && c.getCaption().startsWith(item.getValue())) {
                            c.addStyleName("selected");
                            break;
                        }
                    }
                    break;
                }
            }
            menu.removeStyleName("valo-menu-visible");
        }
    };
    navigator.addViewChangeListener(viewChangeListener);
    addDetachListener(new DetachListener() {
        private static final long serialVersionUID = -8082565032894897397L;

        @Override
        public void detach(DetachEvent event) {
            navigator.removeViewChangeListener(viewChangeListener);
        }
    });
}