64b90dd8b1e6697bcd425115db4a5c178b47f44a
[idea/community.git] / platform / platform-impl / src / com / intellij / openapi / fileEditor / ex / IdeDocumentHistory.java
1
2 // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
3 package com.intellij.openapi.fileEditor.ex;
4
5 import com.intellij.openapi.fileEditor.impl.IdeDocumentHistoryImpl;
6 import com.intellij.openapi.project.Project;
7 import com.intellij.openapi.vfs.VirtualFile;
8 import com.intellij.util.io.PersistentHashMap;
9 import org.jetbrains.annotations.NotNull;
10
11 import java.util.List;
12
13 public abstract class IdeDocumentHistory {
14   public static IdeDocumentHistory getInstance(Project project) {
15     return project.getComponent(IdeDocumentHistory.class);
16   }
17
18   public abstract void includeCurrentCommandAsNavigation();
19   public abstract void setCurrentCommandHasMoves();
20   public abstract void includeCurrentPlaceAsChangePlace();
21   public abstract void clearHistory();
22
23   public abstract void back();
24   public abstract void forward();
25
26   public abstract boolean isBackAvailable();
27   public abstract boolean isForwardAvailable();
28
29   public abstract void navigatePreviousChange();
30   public abstract void navigateNextChange();
31   public abstract boolean isNavigatePreviousChangeAvailable();
32   public abstract boolean isNavigateNextChangeAvailable();
33
34   public abstract VirtualFile[] getChangedFiles();
35   public abstract PersistentHashMap<String, Long> getRecentFilesTimestamps();
36
37   public abstract List<IdeDocumentHistoryImpl.PlaceInfo> getChangePlaces();
38   public abstract List<IdeDocumentHistoryImpl.PlaceInfo> getBackPlaces();
39
40   public abstract void removeChangePlace(@NotNull IdeDocumentHistoryImpl.PlaceInfo placeInfo);
41   public abstract void removeBackPlace(@NotNull IdeDocumentHistoryImpl.PlaceInfo placeInfo);
42
43   public abstract void gotoPlaceInfo(@NotNull IdeDocumentHistoryImpl.PlaceInfo info);
44 }