/******************************************************************************* * 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.explorer.project; import org.eclipse.che.ide.api.data.tree.Node; import org.eclipse.che.ide.api.mvp.View; import org.eclipse.che.ide.api.parts.base.BaseActionDelegate; import org.eclipse.che.ide.ui.smartTree.Tree; import java.util.List; /** * View interface for the {@link ProjectExplorerViewImpl}. * * @author Vlad Zhukovskiy */ public interface ProjectExplorerView extends View<ProjectExplorerView.ActionDelegate> { /** * Activate "Go Into" mode on specified node if. * Node should support this mode. See {@link Node#supportGoInto()}. * * @param node * node which should be activated in "Go Into" mode * @return true - if "Go Into" mode has been activated */ boolean setGoIntoModeOn(Node node); /** * Get "Go Into" state on current tree. * * @return true - if "Go Into" mode has been activated. */ boolean isGoIntoActivated(); void reloadChildren(Node parent); void reloadChildren(Node parent, boolean deep); /** * Reload children by node type. * Useful method if you want to reload specified nodes, e.g. External Liraries. * * @param type * node type to update */ void reloadChildrenByType(Class<?> type); /** * Collapse all non-leaf nodes. */ void collapseAll(); /** * Configure tree to show or hide files that starts with ".", e.g. hidden files. * Affects all expanded nodes. * * @param show * true - if those files should be shown, otherwise - false */ void showHiddenFilesForAllExpandedNodes(boolean show); /** * Set selection on node in project tree. * * @param item * node which should be selected * @param keepExisting * keep current selection or reset it */ void select(Node item, boolean keepExisting); /** * Set selection on nodes in project tree. * * @param items * nodes which should be selected * @param keepExisting * keep current selection or reset it */ void select(List<Node> items, boolean keepExisting); /** * Set current part visibility state. * * @param visible * true - if visible, otherwise - false */ void setVisible(boolean visible); Tree getTree(); interface ActionDelegate extends BaseActionDelegate { } }