blob: d82a7c0a9b4b1eb6c0fbee53801219c2c6ffca71 [file] [log] [blame]
/*
* Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.ide.projectView;
import com.intellij.ide.SelectInTarget;
import com.intellij.ide.projectView.impl.AbstractProjectViewPane;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.ActionCallback;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
public abstract class ProjectView {
public static ProjectView getInstance(Project project) {
return ServiceManager.getService(project, ProjectView.class);
}
public abstract void select(Object element, VirtualFile file, boolean requestFocus);
@NotNull
public abstract ActionCallback selectCB(Object element, VirtualFile file, boolean requestFocus);
@Nullable
public abstract PsiElement getParentOfCurrentSelection();
// show pane identified by id using default(or currently selected) subId
public abstract void changeView(@NotNull String viewId);
public abstract void changeView(@NotNull String viewId, String subId);
public abstract void changeView();
public abstract void refresh();
public abstract boolean isAutoscrollToSource(String paneId);
public abstract boolean isFlattenPackages(String paneId);
public abstract boolean isShowMembers(String paneId);
public abstract boolean isHideEmptyMiddlePackages(String paneId);
public abstract void setHideEmptyPackages(boolean hideEmptyPackages, @NotNull String paneId);
public abstract boolean isShowLibraryContents(String paneId);
public abstract void setShowLibraryContents(boolean showLibraryContents, @NotNull String paneId);
public abstract boolean isShowModules(String paneId);
public abstract void setShowModules(boolean showModules, @NotNull String paneId);
public abstract void addProjectPane(@NotNull AbstractProjectViewPane pane);
public abstract void removeProjectPane(@NotNull AbstractProjectViewPane pane);
public abstract AbstractProjectViewPane getProjectViewPaneById(String id);
public abstract boolean isAutoscrollFromSource(String paneId);
public abstract boolean isAbbreviatePackageNames(String paneId);
public abstract void setAbbreviatePackageNames(boolean abbreviatePackageNames, @NotNull String paneId);
/**
* e.g. {@link com.intellij.ide.projectView.impl.ProjectViewPane#ID}
* @see com.intellij.ide.projectView.impl.AbstractProjectViewPane#getId()
*/
public abstract String getCurrentViewId();
public abstract void selectPsiElement(PsiElement element, boolean requestFocus);
public abstract boolean isSortByType(String paneId);
public abstract void setSortByType(@NotNull String paneId, final boolean sortByType);
public abstract AbstractProjectViewPane getCurrentProjectViewPane();
@NotNull
public abstract Collection<String> getPaneIds();
@NotNull
public abstract Collection<SelectInTarget> getSelectInTargets();
}