use of com.intellij.openapi.vcs.ex.LineStatusTracker in project intellij-community by JetBrains.
the class ShowChangeMarkerAction method update.
@Override
protected void update(@NotNull VcsContext context, @NotNull Presentation presentation) {
LineStatusTracker tracker = myChangeMarkerContext.getLineStatusTracker(context);
if (tracker == null || !tracker.isValid() || tracker.isSilentMode()) {
presentation.setEnabledAndVisible(false);
return;
}
boolean active = isActive(context);
presentation.setEnabled(active);
presentation.setVisible(myChangeMarkerContext.getEditor(context) != null || ActionPlaces.isToolbarPlace(context.getPlace()));
}
use of com.intellij.openapi.vcs.ex.LineStatusTracker in project intellij-community by JetBrains.
the class ShowChangeMarkerAction method actionPerformed.
@Override
protected void actionPerformed(@NotNull VcsContext context) {
Editor editor = myChangeMarkerContext.getEditor(context);
LineStatusTracker lineStatusTracker = myChangeMarkerContext.getLineStatusTracker(context);
Range range = myChangeMarkerContext.getRange(context);
LineStatusTrackerDrawing.moveToRange(range, editor, lineStatusTracker);
}
use of com.intellij.openapi.vcs.ex.LineStatusTracker in project intellij-community by JetBrains.
the class ShowCurrentChangeMarkerAction method actionPerformed.
@Override
protected void actionPerformed(@NotNull VcsContext context) {
Editor editor = myChangeMarkerContext.getEditor(context);
LineStatusTracker lineStatusTracker = myChangeMarkerContext.getLineStatusTracker(context);
Range range = myChangeMarkerContext.getRange(context);
LineStatusTrackerDrawing.showHint(range, editor, lineStatusTracker);
}
use of com.intellij.openapi.vcs.ex.LineStatusTracker in project intellij-community by JetBrains.
the class LineStatusTrackerManager method resetTracker.
private void resetTracker(@NotNull final VirtualFile virtualFile, boolean insertOnly) {
final Document document = FileDocumentManager.getInstance().getCachedDocument(virtualFile);
if (document == null) {
log("resetTracker: no cached document", virtualFile);
return;
}
synchronized (myLock) {
if (isDisabled())
return;
final LineStatusTracker tracker = getLineStatusTracker(document);
if (insertOnly && tracker != null)
return;
resetTracker(document, virtualFile, tracker);
}
}
use of com.intellij.openapi.vcs.ex.LineStatusTracker in project intellij-community by JetBrains.
the class LineStatusTrackerManager method resetTrackers.
private void resetTrackers() {
synchronized (myLock) {
if (isDisabled())
return;
log("resetTrackers", null);
List<LineStatusTracker> trackers = ContainerUtil.map(myLineStatusTrackers.values(), (data) -> data.tracker);
for (LineStatusTracker tracker : trackers) {
resetTracker(tracker.getDocument(), tracker.getVirtualFile(), tracker);
}
final VirtualFile[] openFiles = myFileEditorManager.getOpenFiles();
for (final VirtualFile openFile : openFiles) {
resetTracker(openFile, true);
}
}
}
Aggregations