/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.part.widgets.panemenu; import com.google.gwt.user.client.ui.IsWidget; import com.google.inject.ImplementedBy; import org.eclipse.che.ide.api.parts.EditorPartStack; import javax.validation.constraints.NotNull; /** * Contract for menu for managing opened editors for corresponding {@link EditorPartStack}. * * @author Roman Nikitenko */ @ImplementedBy(EditorPaneMenuWidget.class) public interface EditorPaneMenu extends IsWidget { /** Displays the editor pane menu */ void show(); /** Hides the editor pane menu */ void hide(); /** Adds given item to pane menu without separator */ void addItem(@NotNull EditorPaneMenuItem item); /** * Adds given item to pane menu * * @param item * item to adding * @param isSeparated * a separator will be added when {@code isSeparated} is set as {@code true} */ void addItem(@NotNull EditorPaneMenuItem item, boolean isSeparated); /** Removes given item from pane menu */ void removeItem(@NotNull EditorPaneMenuItem item); }