Example usage for org.eclipse.jface.window Window close

List of usage examples for org.eclipse.jface.window Window close

Introduction

In this page you can find the example usage for org.eclipse.jface.window Window close.

Prototype

public boolean close() 

Source Link

Document

Closes this window, disposes its shell, and removes this window from its window manager (if it has one).

Usage

From source file:nu.bibi.breadcrumb.BreadcrumbItemArrow.java

License:Open Source License

/**
 * Create a new instance of this class with the given item parent and the
 * composite parent./*  w  w w. java  2s. co  m*/
 * 
 * @param parent
 *            the parent item.
 * @param parentContainer
 *            the parent composite.
 */
public BreadcrumbItemArrow(final BreadcrumbItem parent, final Composite parentContainer) {
    this.parentItem = parent;
    enabled = true;
    menuIsShown = false;
    parentComposite = parentContainer;
    leftToRight = (parentContainer.getStyle() & SWT.RIGHT_TO_LEFT) == 0;

    // images
    rightImage = ImageFileRegistry.getResource(ImageFileRegistry.KEY_ARROW_RIGHT).createImage();
    leftImage = ImageFileRegistry.getResource(ImageFileRegistry.KEY_ARROW_LEFT).createImage();
    downImage = ImageFileRegistry.getResource(ImageFileRegistry.KEY_ARROW_DOWN).createImage();

    imageElement = new Label(parentContainer, SWT.NONE);
    imageElement.setImage(getArrowImage(false));
    imageElement.setToolTipText(Messages.BreadcrumbItemDropDown_Action_ToolTip);
    imageElement.getAccessible().addAccessibleListener(new AccessibleAdapter() {
        @Override
        public void getName(final AccessibleEvent e) {
            e.result = Messages.BreadcrumbItemDropDown_Action_ToolTip;
        }
    });
    imageElement.addListener(SWT.FocusIn, new Listener() {
        public void handleEvent(final Event event) {
            parent.getItemDetail().setHasFocus(true);
        }
    });
    imageElement.addListener(SWT.MouseDown, new Listener() {
        public void handleEvent(final Event event) {
            if (event.button == 1) {
                // already open ?
                Window window = parentItem.getDropDownWindow();
                if (window != null) {
                    return;
                }

                // other open ?
                window = getViewer().getDropDownWindow();
                if (window != null) {
                    window.close();
                }
                openDropDownMenu();
            }
        }
    });
    imageElement.addListener(SWT.KeyDown, new Listener() {
        @Override
        public void handleEvent(final Event event) {
            final BreadcrumbViewer viewer = getViewer();
            int index = viewer.indexOf(parentItem);
            switch (event.keyCode) {
            case SWT.ARROW_RIGHT:
                index++;
                break;
            case SWT.ARROW_LEFT:
                index--;
                break;
            case SWT.HOME:
                index = viewer.isRootVisible() ? 0 : 1;
                break;
            case SWT.END:
                index = viewer.getItemCount() - 1;
                break;
            default:
                return;
            }
            if (index >= 0 && index < viewer.getItemCount()) {
                viewer.selectItem(index);
            }
            event.doit = true;
        }
    });
}